Moving existing callers all into migrate_fd_cleanup(). It simplifies migration_thread() a bit.
Reviewed-by: Juan Quintela <quint...@redhat.com> Signed-off-by: Peter Xu <pet...@redhat.com> --- migration/migration.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 5a12738447..2c2140006c 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1077,6 +1077,8 @@ static void migrate_fd_cleanup(void *opaque) qemu_bh_delete(s->cleanup_bh); s->cleanup_bh = NULL; + qemu_savevm_state_cleanup(); + if (s->to_dst_file) { Error *local_err = NULL; @@ -2290,13 +2292,6 @@ static void *migration_thread(void *opaque) end_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME); qemu_mutex_lock_iothread(); - /* - * The resource has been allocated by migration will be reused in COLO - * process, so don't release them. - */ - if (!enable_colo) { - qemu_savevm_state_cleanup(); - } if (s->state == MIGRATION_STATUS_COMPLETED) { uint64_t transferred_bytes = qemu_ftell(s->to_dst_file); s->total_time = end_time - s->total_time; @@ -2319,7 +2314,6 @@ static void *migration_thread(void *opaque) "COLO enabled", __func__); } migrate_start_colo_process(s); - qemu_savevm_state_cleanup(); /* * Fixme: we will run VM in COLO no matter its old running state. * After exited COLO, we will keep running. -- 2.14.3