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>
This commit is contained in:
Peter Xu 2018-01-03 20:20:05 +08:00 committed by Juan Quintela
parent 1f8956041a
commit 0d649a0e95

View File

@ -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();
/*