qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/2] migration queue
@ 2018-03-29 13:57 Dr. David Alan Gilbert (git)
  2018-03-29 13:57 ` [Qemu-devel] [PULL 1/2] migration: fix pfd leak Dr. David Alan Gilbert (git)
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-03-29 13:57 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau, quintela

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

The following changes since commit 47d3b60858d90ac8a0cc3a72af7f95c96781125a:

  Merge remote-tracking branch 'remotes/riscv/tags/riscv-qemu-2.12-important-fixes' into staging (2018-03-28 22:13:38 +0100)

are available in the Git repository at:

  git://github.com/dagrh/qemu.git tags/pull-migration-20180329a

for you to fetch changes up to 0746a92612276aee69e66dfe6782b0f882d221d5:

  migration: Don't activate block devices if using -S (2018-03-29 14:53:16 +0100)

----------------------------------------------------------------
Migration pull (small fixes)

A pair of two small fixes for 2.12.

----------------------------------------------------------------
Dr. David Alan Gilbert (1):
      migration: Don't activate block devices if using -S

Marc-André Lureau (1):
      migration: fix pfd leak

 migration/migration.c    | 22 +++++++++++++++-------
 migration/postcopy-ram.c |  1 +
 2 files changed, 16 insertions(+), 7 deletions(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Qemu-devel] [PULL 1/2] migration: fix pfd leak
  2018-03-29 13:57 [Qemu-devel] [PULL 0/2] migration queue Dr. David Alan Gilbert (git)
@ 2018-03-29 13:57 ` Dr. David Alan Gilbert (git)
  2018-03-29 13:57 ` [Qemu-devel] [PULL 2/2] migration: Don't activate block devices if using -S Dr. David Alan Gilbert (git)
  2018-04-03 14:58 ` [Qemu-devel] [PULL 0/2] migration queue Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-03-29 13:57 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau, quintela

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Fix leak spotted by ASAN:

Direct leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7fe1abb80a38 in __interceptor_calloc (/lib64/libasan.so.4+0xdea38)
    #1 0x7fe1aaf1bf75 in g_malloc0 ../glib/gmem.c:124
    #2 0x7fe1aaf1c249 in g_malloc0_n ../glib/gmem.c:355
    #3 0x55f4841cfaa9 in postcopy_ram_fault_thread /home/elmarco/src/qemu/migration/postcopy-ram.c:596
    #4 0x55f48479447b in qemu_thread_start /home/elmarco/src/qemu/util/qemu-thread-posix.c:504
    #5 0x7fe1a043550a in start_thread (/lib64/libpthread.so.0+0x750a)

Regression introduced with commit 00fa4fc85b00f1a8a810068d158a7a66e88658eb.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20180321113644.21899-1-marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 migration/postcopy-ram.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
index efd77939af..4a0b33b373 100644
--- a/migration/postcopy-ram.c
+++ b/migration/postcopy-ram.c
@@ -754,6 +754,7 @@ static void *postcopy_ram_fault_thread(void *opaque)
         }
     }
     trace_postcopy_ram_fault_thread_exit();
+    g_free(pfd);
     return NULL;
 }
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Qemu-devel] [PULL 2/2] migration: Don't activate block devices if using -S
  2018-03-29 13:57 [Qemu-devel] [PULL 0/2] migration queue Dr. David Alan Gilbert (git)
  2018-03-29 13:57 ` [Qemu-devel] [PULL 1/2] migration: fix pfd leak Dr. David Alan Gilbert (git)
@ 2018-03-29 13:57 ` Dr. David Alan Gilbert (git)
  2018-04-03 14:58 ` [Qemu-devel] [PULL 0/2] migration queue Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-03-29 13:57 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau, quintela

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Activating the block devices causes the locks to be taken on
the backing file.  If we're running with -S and the destination libvirt
hasn't started the destination with 'cont', it's expecting the locks are
still untaken.

Don't activate the block devices if we're not going to autostart the VM;
'cont' already will do that anyway.

bz: https://bugzilla.redhat.com/show_bug.cgi?id=1560854
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20180328170207.49512-1-dgilbert@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 migration/migration.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/migration/migration.c b/migration/migration.c
index 52a5092add..58bd382730 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -306,13 +306,21 @@ static void process_incoming_migration_bh(void *opaque)
     Error *local_err = NULL;
     MigrationIncomingState *mis = opaque;
 
-    /* Make sure all file formats flush their mutable metadata.
-     * If we get an error here, just don't restart the VM yet. */
-    bdrv_invalidate_cache_all(&local_err);
-    if (local_err) {
-        error_report_err(local_err);
-        local_err = NULL;
-        autostart = false;
+    /* Only fire up the block code now if we're going to restart the
+     * VM, else 'cont' will do it.
+     * This causes file locking to happen; so we don't want it to happen
+     * unless we really are starting the VM.
+     */
+    if (autostart && (!global_state_received() ||
+        global_state_get_runstate() == RUN_STATE_RUNNING)) {
+        /* Make sure all file formats flush their mutable metadata.
+         * If we get an error here, just don't restart the VM yet. */
+        bdrv_invalidate_cache_all(&local_err);
+        if (local_err) {
+            error_report_err(local_err);
+            local_err = NULL;
+            autostart = false;
+        }
     }
 
     /*
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PULL 0/2] migration queue
  2018-03-29 13:57 [Qemu-devel] [PULL 0/2] migration queue Dr. David Alan Gilbert (git)
  2018-03-29 13:57 ` [Qemu-devel] [PULL 1/2] migration: fix pfd leak Dr. David Alan Gilbert (git)
  2018-03-29 13:57 ` [Qemu-devel] [PULL 2/2] migration: Don't activate block devices if using -S Dr. David Alan Gilbert (git)
@ 2018-04-03 14:58 ` Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2018-04-03 14:58 UTC (permalink / raw)
  To: Dr. David Alan Gilbert (git)
  Cc: QEMU Developers, Marc-André Lureau, Juan Quintela

On 29 March 2018 at 14:57, Dr. David Alan Gilbert (git)
<dgilbert@redhat.com> wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> The following changes since commit 47d3b60858d90ac8a0cc3a72af7f95c96781125a:
>
>   Merge remote-tracking branch 'remotes/riscv/tags/riscv-qemu-2.12-important-fixes' into staging (2018-03-28 22:13:38 +0100)
>
> are available in the Git repository at:
>
>   git://github.com/dagrh/qemu.git tags/pull-migration-20180329a
>
> for you to fetch changes up to 0746a92612276aee69e66dfe6782b0f882d221d5:
>
>   migration: Don't activate block devices if using -S (2018-03-29 14:53:16 +0100)
>
> ----------------------------------------------------------------
> Migration pull (small fixes)
>
> A pair of two small fixes for 2.12.
>
> ----------------------------------------------------------------
> Dr. David Alan Gilbert (1):
>       migration: Don't activate block devices if using -S
>
> Marc-André Lureau (1):
>       migration: fix pfd leak
>
>  migration/migration.c    | 22 +++++++++++++++-------
>  migration/postcopy-ram.c |  1 +
>  2 files changed, 16 insertions(+), 7 deletions(-)
>

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-04-03 14:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-29 13:57 [Qemu-devel] [PULL 0/2] migration queue Dr. David Alan Gilbert (git)
2018-03-29 13:57 ` [Qemu-devel] [PULL 1/2] migration: fix pfd leak Dr. David Alan Gilbert (git)
2018-03-29 13:57 ` [Qemu-devel] [PULL 2/2] migration: Don't activate block devices if using -S Dr. David Alan Gilbert (git)
2018-04-03 14:58 ` [Qemu-devel] [PULL 0/2] migration queue Peter Maydell

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).