[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v2 08/33] migration: new postcopy-pause state
From: |
Peter Xu |
Subject: |
[Qemu-devel] [RFC v2 08/33] migration: new postcopy-pause state |
Date: |
Wed, 30 Aug 2017 16:32:05 +0800 |
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 <address@hidden>
---
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
- [Qemu-devel] [RFC v2 00/33] Migration: postcopy failure recovery, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 01/33] bitmap: remove BITOP_WORD(), Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 02/33] bitmap: introduce bitmap_count_one(), Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 03/33] bitmap: provide to_le/from_le helpers, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 04/33] migration: dump str in migrate_set_state trace, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 05/33] migration: better error handling with QEMUFile, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 06/33] migration: reuse mis->userfault_quit_fd, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 07/33] migration: provide postcopy_fault_thread_notify(), Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 09/33] migration: implement "postcopy-pause" src logic, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 08/33] migration: new postcopy-pause state,
Peter Xu <=
- [Qemu-devel] [RFC v2 10/33] migration: allow dst vm pause on postcopy, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 11/33] migration: allow src return path to pause, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 12/33] migration: allow send_rq to fail, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 13/33] migration: allow fault thread to pause, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 14/33] qmp: hmp: add migrate "resume" option, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 15/33] migration: pass MigrationState to migrate_init(), Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 16/33] migration: rebuild channel on source, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 17/33] migration: new state "postcopy-recover", Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 18/33] migration: wakeup dst ram-load-thread for recover, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 19/33] migration: new cmd MIG_CMD_RECV_BITMAP, Peter Xu, 2017/08/30