From 660819b1df9f79cb8d3bb99c590476f131858e75 Mon Sep 17 00:00:00 2001 From: Peter Xu Date: Fri, 19 May 2017 14:43:30 +0800 Subject: [PATCH] migration: shut src return path unconditionally We were do the shutting off only for postcopy. Now we do this as long as the source return path is there. Moving the cleanup of from_src_file there too. Signed-off-by: Peter Xu Reviewed-by: Juan Quintela Signed-off-by: Juan Quintela --- migration/migration.c | 8 +++++++- migration/postcopy-ram.c | 1 - 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index b90e39992e..5d9ccf1988 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -134,10 +134,17 @@ void migration_incoming_state_destroy(void) struct MigrationIncomingState *mis = migration_incoming_get_current(); if (mis->to_src_file) { + /* Tell source that we are done */ + migrate_send_rp_shut(mis, qemu_file_get_error(mis->from_src_file) != 0); qemu_fclose(mis->to_src_file); mis->to_src_file = NULL; } + if (mis->from_src_file) { + qemu_fclose(mis->from_src_file); + mis->from_src_file = NULL; + } + qemu_event_destroy(&mis->main_thread_load_event); } @@ -435,7 +442,6 @@ static void process_incoming_migration_co(void *opaque) exit(EXIT_FAILURE); } - qemu_fclose(f); free_xbzrle_decoded_buf(); mis->bh = qemu_bh_new(process_incoming_migration_bh, mis); diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c index 3f9ae1bff2..5ceb62374b 100644 --- a/migration/postcopy-ram.c +++ b/migration/postcopy-ram.c @@ -333,7 +333,6 @@ int postcopy_ram_incoming_cleanup(MigrationIncomingState *mis) } postcopy_state_set(POSTCOPY_INCOMING_END); - migrate_send_rp_shut(mis, qemu_file_get_error(mis->from_src_file) != 0); if (mis->postcopy_tmp_page) { munmap(mis->postcopy_tmp_page, mis->largest_page_size); -- 2.11.0