aboutsummaryrefslogtreecommitdiff
path: root/migration/migration.c
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2018-01-03 20:20:05 +0800
committerJuan Quintela <quintela@redhat.com>2018-01-15 12:48:06 +0100
commit0d649a0e95b46fab94090f852a43c72d2621ebb9 (patch)
treeff5f9ac0849782c3921af2675ed37dc71a87b892 /migration/migration.c
parent1f8956041ad3851c28f0e3f6ee023d3bcc55ca50 (diff)
migration: assert colo instead of check
When reaching here if we are still "active" it means we must be in colo state. After a quick discussion offlist, we decided to use the safer error_report(). Finally I want to use "switch" here rather than lots of complicated if clauses. Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration/migration.c')
-rw-r--r--migration/migration.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/migration/migration.c b/migration/migration.c
index 7a77b193c1..f579752d21 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2348,7 +2348,15 @@ static void *migration_thread(void *opaque)
}
runstate_set(RUN_STATE_POSTMIGRATE);
} else {
- if (s->state == MIGRATION_STATUS_ACTIVE && enable_colo) {
+ if (s->state == MIGRATION_STATUS_ACTIVE) {
+ /*
+ * We should really assert here, but since it's during
+ * migration, let's try to reduce the usage of assertions.
+ */
+ if (!enable_colo) {
+ error_report("%s: critical error: calling COLO code without "
+ "COLO enabled", __func__);
+ }
migrate_start_colo_process(s);
qemu_savevm_state_cleanup();
/*