aboutsummaryrefslogtreecommitdiff
path: root/migration/migration.h
diff options
context:
space:
mode:
authorMax Reitz <mreitz@redhat.com>2020-08-20 17:07:23 +0200
committerEric Blake <eblake@redhat.com>2020-08-21 08:56:09 -0500
commit31e4c354b38cd42a051ad030eb7779d5e7ee32fe (patch)
tree7fb7d5cbe98a7d9283491fae0b83ce31eaa112db /migration/migration.h
parent76bbbb2d8bcd635f787ddf448bad9c68f3299dee (diff)
downloadqemu-31e4c354b38cd42a051ad030eb7779d5e7ee32fe.zip
qemu-31e4c354b38cd42a051ad030eb7779d5e7ee32fe.tar.gz
qemu-31e4c354b38cd42a051ad030eb7779d5e7ee32fe.tar.bz2
migration: Add block-bitmap-mapping parameter
This migration parameter allows mapping block node names and bitmap names to aliases for the purpose of block dirty bitmap migration. This way, management tools can use different node and bitmap names on the source and destination and pass the mapping of how bitmaps are to be transferred to qemu (on the source, the destination, or even both with arbitrary aliases in the migration stream). While touching this code, fix a bug where bitmap names longer than 255 bytes would fail an assertion in qemu_put_counted_string(). Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Signed-off-by: Max Reitz <mreitz@redhat.com> Message-Id: <20200820150725.68687-2-mreitz@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'migration/migration.h')
-rw-r--r--migration/migration.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/migration/migration.h b/migration/migration.h
index 6c6a931..2ed55c4 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -337,6 +337,9 @@ void migrate_send_rp_resume_ack(MigrationIncomingState *mis, uint32_t value);
void dirty_bitmap_mig_before_vm_start(void);
void dirty_bitmap_mig_cancel_outgoing(void);
void dirty_bitmap_mig_cancel_incoming(void);
+bool check_dirty_bitmap_mig_alias_map(const BitmapMigrationNodeAliasList *bbm,
+ Error **errp);
+
void migrate_add_address(SocketAddress *address);
int foreach_not_ignored_block(RAMBlockIterFunc func, void *opaque);