diff options
author | Zhang Chen <zhangckid@gmail.com> | 2018-09-03 12:38:47 +0800 |
---|---|---|
committer | Jason Wang <jasowang@redhat.com> | 2018-10-19 11:15:03 +0800 |
commit | aad555c2294b5de22524b7dbacc728d51cc63bcc (patch) | |
tree | 2f83c8e78d6866ec5ae7a6f5c80225d0b9751f67 /migration/colo.c | |
parent | 8e48ac95865ac97d10a81cb7a5bbae310878f519 (diff) |
COLO: Remove colo_state migration struct
We need to know if migration is going into COLO state for
incoming side before start normal migration.
Instead by using the VMStateDescription to send colo_state
from source side to destination side, we use MIG_CMD_ENABLE_COLO
to indicate whether COLO is enabled or not.
Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
Signed-off-by: Zhang Chen <zhangckid@gmail.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'migration/colo.c')
-rw-r--r-- | migration/colo.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/migration/colo.c b/migration/colo.c index af04010061..d3163b51c8 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -152,6 +152,17 @@ static void primary_vm_do_failover(void) qemu_sem_post(&s->colo_exit_sem); } +COLOMode get_colo_mode(void) +{ + if (migration_in_colo_state()) { + return COLO_MODE_PRIMARY; + } else if (migration_incoming_in_colo_state()) { + return COLO_MODE_SECONDARY; + } else { + return COLO_MODE_UNKNOWN; + } +} + void colo_do_failover(MigrationState *s) { /* Make sure VM stopped while failover happened. */ @@ -746,7 +757,7 @@ out: if (mis->to_src_file) { qemu_fclose(mis->to_src_file); } - migration_incoming_exit_colo(); + migration_incoming_disable_colo(); rcu_unregister_thread(); return NULL; |