summary refs log tree commit diff stats
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
parent1f8956041ad3851c28f0e3f6ee023d3bcc55ca50 (diff)
downloadfocaccia-qemu-0d649a0e95b46fab94090f852a43c72d2621ebb9.tar.gz
focaccia-qemu-0d649a0e95b46fab94090f852a43c72d2621ebb9.zip
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>
-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();
             /*