From: Peter Krempa <[email protected]>

The user configuration of added/removed qemu capabilities via the qemu
namespace element was applied only right before generating a
commandline, but the post parse code code didn't see these.

Apply the capability modification prior to running post parse code so
that defaults are properly picked based on the configuration.

Signed-off-by: Peter Krempa <[email protected]>
---
 src/qemu/qemu_postparse.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/qemu/qemu_postparse.c b/src/qemu/qemu_postparse.c
index 79e02e34ac..e4ff902ae1 100644
--- a/src/qemu/qemu_postparse.c
+++ b/src/qemu/qemu_postparse.c
@@ -1919,9 +1919,16 @@ qemuDomainPostParseDataAlloc(const virDomainDef *def,
                              void **parseOpaque)
 {
     virQEMUDriver *driver = opaque;
+    g_autoptr(virQEMUCaps) qemuCapsLocal = NULL;

-    if (!(*parseOpaque = virQEMUCapsCacheLookup(driver->qemuCapsCache,
-                                                def->emulator)))
+    *parseOpaque = NULL;
+
+    if (!(qemuCapsLocal = virQEMUCapsCacheLookup(driver->qemuCapsCache,
+                                                 def->emulator)))
+        return 1;
+
+    if (qemuDomainUpdateCustomCapabilities(def, qemuCapsLocal,
+                                           (virQEMUCaps **) parseOpaque) < 0)
         return 1;

     return 0;
-- 
2.54.0

Reply via email to