qemu-stable
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-stable] [PATCH] vl: Delay initialization of memory backends


From: Eduardo Habkost
Subject: [Qemu-stable] [PATCH] vl: Delay initialization of memory backends
Date: Wed, 31 Aug 2016 17:17:10 -0300

Initialization of memory backends may take a while when
prealloc=yes is used, depending on their size. Initializing
memory backends before chardevs may delay the creation of monitor
sockets, and trigger timeouts on management software that waits
until the monitor socket is created by QEMU.  See, for example,
the bug report at:
https://bugzilla.redhat.com/show_bug.cgi?id=1371211

This patch fixes the problem by adding "memory-backend-*" classes
to the delayed-initialization list.

I believe a more appropriate fix would be creating objects and
chardevs in the same ordering specified on the command-line, but
this patch should fix the bug until we figure out a better way.

Signed-off-by: Eduardo Habkost <address@hidden>
---
 vl.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/vl.c b/vl.c
index b3c80d5..7764032 100644
--- a/vl.c
+++ b/vl.c
@@ -2810,6 +2810,15 @@ static bool object_create_initial(const char *type)
         return false;
     }
 
+    /* Initialization of memory backends may delay chardev
+     * initialization for too long, and trigger timeouts on
+     * software that waits for a monitor socket to be created
+     * (e.g. libvirt).
+     */
+    if (g_str_has_prefix(type, "memory-backend-")) {
+        return false;
+    }
+
     return true;
 }
 
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]