aboutsummaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
authorPeter Krempa <pkrempa@redhat.com>2021-02-12 18:34:24 +0100
committerEric Blake <eblake@redhat.com>2021-02-12 15:24:36 -0600
commit6e9f21a2aa8a78bc9a512a836a40c79fe50dd2b4 (patch)
tree749863cda552af19233d6556c32469310713c565 /qapi
parent0d1e450c7b3117ee635a00c81d9a92666ebc7ffa (diff)
downloadqemu-6e9f21a2aa8a78bc9a512a836a40c79fe50dd2b4.zip
qemu-6e9f21a2aa8a78bc9a512a836a40c79fe50dd2b4.tar.gz
qemu-6e9f21a2aa8a78bc9a512a836a40c79fe50dd2b4.tar.bz2
migration: dirty-bitmap: Allow control of bitmap persistence
Bitmap's source persistence is transported over the migration stream and the destination mirrors it. In some cases the destination might want to persist bitmaps which are not persistent on the source (e.g. the result of merging bitmaps from a number of layers on the source when migrating into a squashed image) but currently it would need to create another set of persistent bitmaps and merge them. This patch adds a 'transform' property to the alias map which allows overriding the persistence of migrated bitmaps both on the source and destination sides. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Message-Id: <b20afb675917b86f6359ac3591166ac6d4233573.1613150869.git.pkrempa@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> [eblake: grammar tweaks, drop dead conditional] Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'qapi')
-rw-r--r--qapi/migration.json19
1 files changed, 18 insertions, 1 deletions
diff --git a/qapi/migration.json b/qapi/migration.json
index ce14d78..6e5943f 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -537,6 +537,19 @@
{ 'name': 'zstd', 'if': 'defined(CONFIG_ZSTD)' } ] }
##
+# @BitmapMigrationBitmapAliasTransform:
+#
+# @persistent: If present, the bitmap will be made persistent
+# or transient depending on this parameter.
+#
+# Since: 6.0
+##
+{ 'struct': 'BitmapMigrationBitmapAliasTransform',
+ 'data': {
+ '*persistent': 'bool'
+ } }
+
+##
# @BitmapMigrationBitmapAlias:
#
# @name: The name of the bitmap.
@@ -544,12 +557,16 @@
# @alias: An alias name for migration (for example the bitmap name on
# the opposite site).
#
+# @transform: Allows the modification of the migrated bitmap.
+# (since 6.0)
+#
# Since: 5.2
##
{ 'struct': 'BitmapMigrationBitmapAlias',
'data': {
'name': 'str',
- 'alias': 'str'
+ 'alias': 'str',
+ '*transform': 'BitmapMigrationBitmapAliasTransform'
} }
##