migration: new postcopy-pause state

Introducing a new state "postcopy-paused", which can be used when the
postcopy migration is paused. It is targeted for postcopy network
failure recovery.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20180502104740.12123-3-peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
Peter Xu 2018-05-02 18:47:18 +08:00 committed by Juan Quintela
parent e89f5ff2c3
commit a688d2c1ab
2 changed files with 6 additions and 1 deletions

View file

@ -574,6 +574,7 @@ static bool migration_is_setup_or_active(int state)
switch (state) {
case MIGRATION_STATUS_ACTIVE:
case MIGRATION_STATUS_POSTCOPY_ACTIVE:
case MIGRATION_STATUS_POSTCOPY_PAUSED:
case MIGRATION_STATUS_SETUP:
case MIGRATION_STATUS_PRE_SWITCHOVER:
case MIGRATION_STATUS_DEVICE:
@ -654,6 +655,7 @@ static void fill_source_migration_info(MigrationInfo *info)
case MIGRATION_STATUS_POSTCOPY_ACTIVE:
case MIGRATION_STATUS_PRE_SWITCHOVER:
case MIGRATION_STATUS_DEVICE:
case MIGRATION_STATUS_POSTCOPY_PAUSED:
/* TODO add some postcopy stats */
info->has_status = true;
info->has_total_time = true;

View file

@ -89,6 +89,8 @@
#
# @postcopy-active: like active, but now in postcopy mode. (since 2.5)
#
# @postcopy-paused: during postcopy but paused. (since 2.13)
#
# @completed: migration is finished.
#
# @failed: some error occurred during migration process.
@ -106,7 +108,8 @@
##
{ 'enum': 'MigrationStatus',
'data': [ 'none', 'setup', 'cancelling', 'cancelled',
'active', 'postcopy-active', 'completed', 'failed', 'colo',
'active', 'postcopy-active', 'postcopy-paused',
'completed', 'failed', 'colo',
'pre-switchover', 'device' ] }
##