diff options
author | Peter Xu <peterx@redhat.com> | 2017-05-19 14:43:30 +0800 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2017-06-01 18:49:12 +0200 |
commit | 660819b1df9f79cb8d3bb99c590476f131858e75 (patch) | |
tree | 189665725d628290f4042bb69876ecab2a72d016 /migration/migration.c | |
parent | 3482655bbc21d158ed0daaa294c890997238cc23 (diff) |
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 <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration/migration.c')
-rw-r--r-- | migration/migration.c | 8 |
1 files changed, 7 insertions, 1 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); |