summary refs log tree commit diff stats
path: root/migration/migration.h
diff options
context:
space:
mode:
authorMaciej S. Szmigiero <maciej.szmigiero@oracle.com>2025-03-04 23:03:32 +0100
committerCédric Le Goater <clg@redhat.com>2025-03-06 06:47:33 +0100
commit4e55cb3cdeb099cb65f75f5d3b061e3e1319cf3b (patch)
treee98bc077902c8c34a53446f7abc78c9234cb2a74 /migration/migration.h
parentb5aa74968b27f37523c180e9c42ca007dbc7758f (diff)
downloadfocaccia-qemu-4e55cb3cdeb099cb65f75f5d3b061e3e1319cf3b.tar.gz
focaccia-qemu-4e55cb3cdeb099cb65f75f5d3b061e3e1319cf3b.zip
migration: Add MIG_CMD_SWITCHOVER_START and its load handler
This QEMU_VM_COMMAND sub-command and its switchover_start SaveVMHandler is
used to mark the switchover point in main migration stream.

It can be used to inform the destination that all pre-switchover main
migration stream data has been sent/received so it can start to process
post-switchover data that it might have received via other migration
channels like the multifd ones.

Add also the relevant MigrationState bit stream compatibility property and
its hw_compat entry.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Zhang Chen <zhangckid@gmail.com> # for the COLO part
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Link: https://lore.kernel.org/qemu-devel/311be6da85fc7e49a7598684d80aa631778dcbce.1741124640.git.maciej.szmigiero@oracle.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'migration/migration.h')
-rw-r--r--migration/migration.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/migration/migration.h b/migration/migration.h
index 4639e2a7e4..7b4278e2a3 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -400,6 +400,8 @@ struct MigrationState {
     bool send_configuration;
     /* Whether we send section footer during migration */
     bool send_section_footer;
+    /* Whether we send switchover start notification during migration */
+    bool send_switchover_start;
 
     /* Needed by postcopy-pause state */
     QemuSemaphore postcopy_pause_sem;