From: Peter Xu <peterx@redhat.com>
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>
---
migration/migration.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
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();
/*
--
2.14.3