Introducing a new state "postcopy-paused", which can be used when the postcopy migration is paused. It is targeted for postcopy network failure recovery.
Signed-off-by: Peter Xu <pet...@redhat.com> --- migration/migration.c | 2 ++ qapi-schema.json | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/migration/migration.c b/migration/migration.c index 92bf9b8..f6130db 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -470,6 +470,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: return true; @@ -545,6 +546,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) case MIGRATION_STATUS_ACTIVE: case MIGRATION_STATUS_CANCELLING: case MIGRATION_STATUS_POSTCOPY_ACTIVE: + case MIGRATION_STATUS_POSTCOPY_PAUSED: /* TODO add some postcopy stats */ info->has_status = true; info->has_total_time = true; diff --git a/qapi-schema.json b/qapi-schema.json index 802ea53..368b592 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -667,6 +667,8 @@ # # @postcopy-active: like active, but now in postcopy mode. (since 2.5) # +# @postcopy-paused: during postcopy but paused. (since 2.11) +# # @completed: migration is finished. # # @failed: some error occurred during migration process. @@ -679,7 +681,8 @@ ## { 'enum': 'MigrationStatus', 'data': [ 'none', 'setup', 'cancelling', 'cancelled', - 'active', 'postcopy-active', 'completed', 'failed', 'colo' ] } + 'active', 'postcopy-active', 'postcopy-paused', + 'completed', 'failed', 'colo' ] } ## # @MigrationInfo: -- 2.7.4