qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: dgilbert@redhat.com, lvivier@redhat.com, peterx@redhat.com
Subject: [Qemu-devel] [PULL 05/15] migration: shut src return path unconditionally
Date: Thu,  1 Jun 2017 21:23:17 +0200	[thread overview]
Message-ID: <20170601192327.29712-6-quintela@redhat.com> (raw)
In-Reply-To: <20170601192327.29712-1-quintela@redhat.com>

From: Peter Xu <peterx@redhat.com>

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>
---
 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 b90e399..5d9ccf1 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 3f9ae1b..5ceb623 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.9.4

  parent reply	other threads:[~2017-06-01 19:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-01 19:23 [Qemu-devel] [PULL 00/15] Migration PULL request Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 01/15] migration: Use savevm_handlers instead of loadvm copy Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 02/15] migration: loadvm handlers are not used Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 03/15] migration: Remove section_id parameter from vmstate_load Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 04/15] migration: fix leak of src file on dst Juan Quintela
2017-06-01 19:23 ` Juan Quintela [this message]
2017-06-01 19:23 ` [Qemu-devel] [PULL 06/15] migration: Remove unneeded includes of migration/vmstate.h Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 07/15] migration: Split qemu-file.h Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 08/15] migration: Export exec.c functions in its own file Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 09/15] migration: Export fd.c " Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 10/15] migration: Export socket.c " Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 11/15] migration: Export tls.c " Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 12/15] migration: Export rdma.c " Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 13/15] migration: Create include for migration snapshots Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 14/15] migration: Export ram.c functions in its own file Juan Quintela
2017-06-01 19:23 ` [Qemu-devel] [PULL 15/15] migration: Move include/migration/block.h into migration/ Juan Quintela
2017-06-02 14:19 ` [Qemu-devel] [PULL 00/15] Migration PULL request Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170601192327.29712-6-quintela@redhat.com \
    --to=quintela@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).