Peter Xu <peterx@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 <peterx@redhat.com>
Reviewed-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 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();
> /*