Peter Xu <pet...@redhat.com> wrote: > 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 <pet...@redhat.com>
Reviewed-by: Juan Quintela <quint...@redhat.com> > --- > migration/migration.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/migration/migration.c b/migration/migration.c > index 4de3b551fe..5a12738447 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -2309,7 +2309,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__); I will put on the error message something like: "%s: critical error: State ACTIVE without COLO being enable. That is forbidden/imposible". And then you don't need the previous comment? Later, Juan. > + } > migrate_start_colo_process(s); > qemu_savevm_state_cleanup(); > /*