diff --git a/migration/migration.c b/migration/migration.c index c7f628caa6..140b2a4de6 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -542,8 +542,13 @@ process_incoming_migration_co(void *opaque) /* Else if something went wrong then just fall out of the normal exit */ } + if (ret < 0) { + error_report("load of migration failed: %s", strerror(-ret)); + goto fail; + } + /* we get COLO info, and know if we are in COLO mode */ - if (!ret && migration_incoming_colo_enabled()) { + if (migration_incoming_colo_enabled()) { QemuThread colo_incoming_thread; /* Make sure all file formats throw away their mutable metadata */ @@ -565,10 +570,6 @@ process_incoming_migration_co(void *opaque) colo_release_ram_cache(); } - if (ret < 0) { - error_report("load of migration failed: %s", strerror(-ret)); - goto fail; - } mis->bh = qemu_bh_new(process_incoming_migration_bh, mis); qemu_bh_schedule(mis->bh); mis->migration_incoming_co = NULL;