Commit 93fbd031 authored by Dr. David Alan Gilbert's avatar Dr. David Alan Gilbert Committed by Juan Quintela
Browse files

migration: Add 'pause-before-switchover' capability



When 'pause-before-switchover' is enabled, the outgoing migration
will pause before invalidating the block devices and serializing
the device state.
At this point the management layer gets the chance to clean up any
device jobs or other device users before the migration completes.

Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
parent 80f8dfde
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1511,6 +1511,16 @@ bool migrate_use_multifd(void)
    return s->enabled_capabilities[MIGRATION_CAPABILITY_X_MULTIFD];
}

bool migrate_pause_before_switchover(void)
{
    MigrationState *s;

    s = migrate_get_current();

    return s->enabled_capabilities[
        MIGRATION_CAPABILITY_PAUSE_BEFORE_SWITCHOVER];
}

int migrate_multifd_channels(void)
{
    MigrationState *s;
+1 −0
Original line number Diff line number Diff line
@@ -177,6 +177,7 @@ bool migrate_zero_blocks(void);

bool migrate_auto_converge(void);
bool migrate_use_multifd(void);
bool migrate_pause_before_switchover(void);
int migrate_multifd_channels(void);
int migrate_multifd_page_count(void);

+4 −1
Original line number Diff line number Diff line
@@ -341,6 +341,9 @@
# @return-path: If enabled, migration will use the return path even
#               for precopy. (since 2.10)
#
# @pause-before-switchover: Pause outgoing migration before serialising device
#          state and before disabling block IO (since 2.11)
#
# @x-multifd: Use more than one fd for migration (since 2.11)
#
# Since: 1.2
@@ -348,7 +351,7 @@
{ 'enum': 'MigrationCapability',
  'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks',
           'compress', 'events', 'postcopy-ram', 'x-colo', 'release-ram',
           'block', 'return-path', 'x-multifd' ] }
           'block', 'return-path', 'pause-before-switchover', 'x-multifd' ] }

##
# @MigrationCapabilityStatus: