[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC 4/6] migration: shut src return path uncondition
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH RFC 4/6] migration: shut src return path unconditionally |
Date: |
Fri, 19 May 2017 14:43:30 +0800 |
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 <address@hidden>
---
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 92617fc..a4006b4 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -131,10 +131,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);
loadvm_free_handlers(mis);
}
@@ -433,7 +440,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 a0489f6..57aa208 100644
--- a/migration/postcopy-ram.c
+++ b/migration/postcopy-ram.c
@@ -320,7 +320,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.7.4
- Re: [Qemu-devel] [PATCH RFC 1/6] io: only allow return path for socket typed, (continued)
- Re: [Qemu-devel] [PATCH RFC 1/6] io: only allow return path for socket typed, Daniel P. Berrange, 2017/05/19
- Re: [Qemu-devel] [PATCH RFC 1/6] io: only allow return path for socket typed, Dr. David Alan Gilbert, 2017/05/19
- Re: [Qemu-devel] [PATCH RFC 1/6] io: only allow return path for socket typed, Daniel P. Berrange, 2017/05/19
- Re: [Qemu-devel] [PATCH RFC 1/6] io: only allow return path for socket typed, Dr. David Alan Gilbert, 2017/05/19
- Re: [Qemu-devel] [PATCH RFC 1/6] io: only allow return path for socket typed, Daniel P. Berrange, 2017/05/22
[Qemu-devel] [PATCH RFC 2/6] migration: isolate return path on src, Peter Xu, 2017/05/19
[Qemu-devel] [PATCH RFC 3/6] migration: fix leak of src file on dst, Peter Xu, 2017/05/19
[Qemu-devel] [PATCH RFC 4/6] migration: shut src return path unconditionally,
Peter Xu <=
Re: [Qemu-devel] [PATCH RFC 4/6] migration: shut src return path unconditionally, Juan Quintela, 2017/05/30
[Qemu-devel] [PATCH RFC 5/6] migration: let MigrationState be an QObject, Peter Xu, 2017/05/19
[Qemu-devel] [PATCH RFC 6/6] migration: enable return path for precopy, Peter Xu, 2017/05/19