[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
- [Qemu-stable] [PATCH] vl: Delay initialization of memory backends,
Eduardo Habkost <=