Introduce VIR_MIGRATE_POSTCOPY_RESUME flag

This flag can be used to restart post-copy migration once it failed
because of a broken connection.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Jiri Denemark 2022-05-10 15:20:25 +02:00
parent b3110bb8e4
commit f55aedc845
2 changed files with 11 additions and 0 deletions

View File

@ -1084,6 +1084,11 @@ typedef enum {
*/ */
VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES = (1 << 18), VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES = (1 << 18),
/* Resume migration which failed in post-copy phase.
*
* Since: 8.5.0
*/
VIR_MIGRATE_POSTCOPY_RESUME = (1 << 19),
} virDomainMigrateFlags; } virDomainMigrateFlags;

View File

@ -9771,6 +9771,12 @@ virDomainMigrateGetMaxSpeed(virDomainPtr domain,
* this, libvirt will refuse to cancel post-copy migration via * this, libvirt will refuse to cancel post-copy migration via
* virDomainAbortJob. * virDomainAbortJob.
* *
* Failed post-copy migration can be recovered once the cause for the failure
* (e.g., a network issue) is resolved by repeating the migration with an
* additional VIR_MIGRATE_POSTCOPY_RESUME flag. This will recreate the
* connection and resume migration from the point where it failed. This step
* can be repeated in case the migration breaks again.
*
* The following domain life cycle events are emitted during post-copy * The following domain life cycle events are emitted during post-copy
* migration: * migration:
* VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY (on the source) -- migration entered * VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY (on the source) -- migration entered