migration: Add 'pre-switchover' and 'device' statuses
Add two statuses for use when the 'pause-before-switchover' capability is enabled. 'pre-switchover' is the state that we wait in for management to allow us to continue. 'device' is the state we enter while serialising the devices after management gives us the OK. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
93fbd0314e
commit
31e060774c
|
@ -526,6 +526,8 @@ static bool migration_is_setup_or_active(int state)
|
||||||
case MIGRATION_STATUS_ACTIVE:
|
case MIGRATION_STATUS_ACTIVE:
|
||||||
case MIGRATION_STATUS_POSTCOPY_ACTIVE:
|
case MIGRATION_STATUS_POSTCOPY_ACTIVE:
|
||||||
case MIGRATION_STATUS_SETUP:
|
case MIGRATION_STATUS_SETUP:
|
||||||
|
case MIGRATION_STATUS_PRE_SWITCHOVER:
|
||||||
|
case MIGRATION_STATUS_DEVICE:
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -600,6 +602,8 @@ MigrationInfo *qmp_query_migrate(Error **errp)
|
||||||
case MIGRATION_STATUS_ACTIVE:
|
case MIGRATION_STATUS_ACTIVE:
|
||||||
case MIGRATION_STATUS_CANCELLING:
|
case MIGRATION_STATUS_CANCELLING:
|
||||||
case MIGRATION_STATUS_POSTCOPY_ACTIVE:
|
case MIGRATION_STATUS_POSTCOPY_ACTIVE:
|
||||||
|
case MIGRATION_STATUS_PRE_SWITCHOVER:
|
||||||
|
case MIGRATION_STATUS_DEVICE:
|
||||||
/* TODO add some postcopy stats */
|
/* TODO add some postcopy stats */
|
||||||
info->has_status = true;
|
info->has_status = true;
|
||||||
info->has_total_time = true;
|
info->has_total_time = true;
|
||||||
|
@ -1189,6 +1193,8 @@ bool migration_is_idle(void)
|
||||||
case MIGRATION_STATUS_ACTIVE:
|
case MIGRATION_STATUS_ACTIVE:
|
||||||
case MIGRATION_STATUS_POSTCOPY_ACTIVE:
|
case MIGRATION_STATUS_POSTCOPY_ACTIVE:
|
||||||
case MIGRATION_STATUS_COLO:
|
case MIGRATION_STATUS_COLO:
|
||||||
|
case MIGRATION_STATUS_PRE_SWITCHOVER:
|
||||||
|
case MIGRATION_STATUS_DEVICE:
|
||||||
return false;
|
return false;
|
||||||
case MIGRATION_STATUS__MAX:
|
case MIGRATION_STATUS__MAX:
|
||||||
g_assert_not_reached();
|
g_assert_not_reached();
|
||||||
|
|
|
@ -96,12 +96,18 @@
|
||||||
# @colo: VM is in the process of fault tolerance, VM can not get into this
|
# @colo: VM is in the process of fault tolerance, VM can not get into this
|
||||||
# state unless colo capability is enabled for migration. (since 2.8)
|
# state unless colo capability is enabled for migration. (since 2.8)
|
||||||
#
|
#
|
||||||
|
# @pre-switchover: Paused before device serialisation. (since 2.11)
|
||||||
|
#
|
||||||
|
# @device: During device serialisation when pause-before-switchover is enabled
|
||||||
|
# (since 2.11)
|
||||||
|
#
|
||||||
# Since: 2.3
|
# Since: 2.3
|
||||||
#
|
#
|
||||||
##
|
##
|
||||||
{ 'enum': 'MigrationStatus',
|
{ 'enum': 'MigrationStatus',
|
||||||
'data': [ 'none', 'setup', 'cancelling', 'cancelled',
|
'data': [ 'none', 'setup', 'cancelling', 'cancelled',
|
||||||
'active', 'postcopy-active', 'completed', 'failed', 'colo' ] }
|
'active', 'postcopy-active', 'completed', 'failed', 'colo',
|
||||||
|
'pre-switchover', 'device' ] }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @MigrationInfo:
|
# @MigrationInfo:
|
||||||
|
|
Loading…
Reference in New Issue