[libvirt] [PATCH 5/9] qemu: process: Move clearing of QEMU_CAPS_CHARDEV_FD_PASS to qemuProcessPrepareQEMUCaps

Peter Krempa pkrempa at redhat.com
Mon Nov 25 12:53:50 UTC 2019


Move the post-processing of the QEMU_CAPS_CHARDEV_FD_PASS flag to the
new function.

The clearing of the capability is based on the presence of
VIR_QEMU_PROCESS_START_STANDALONE so we must also pass in the process
start flags.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_process.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index f05c1d637f..f36d03b0a6 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -5490,6 +5490,7 @@ qemuProcessStartUpdateCustomCaps(virDomainObjPtr vm)
  * qemuProcessPrepareQEMUCaps:
  * @vm: domain object
  * @qemuCapsCache: cache of QEMU capabilities
+ * @processStartFlags: flags based on the VIR_QEMU_PROCESS_START_* enum
  *
  * Prepare the capabilities of a QEMU process for startup. This includes
  * copying the caps to a static cache and potential post-processing depending
@@ -5499,7 +5500,8 @@ qemuProcessStartUpdateCustomCaps(virDomainObjPtr vm)
  */
 static int
 qemuProcessPrepareQEMUCaps(virDomainObjPtr vm,
-                           virFileCachePtr qemuCapsCache)
+                           virFileCachePtr qemuCapsCache,
+                           unsigned int processStartFlags)
 {
     qemuDomainObjPrivatePtr priv = vm->privateData;
     size_t i;
@@ -5519,6 +5521,9 @@ qemuProcessPrepareQEMUCaps(virDomainObjPtr vm,
         }
     }

+    if (processStartFlags & VIR_QEMU_PROCESS_START_STANDALONE)
+        virQEMUCapsClear(priv->qemuCaps, QEMU_CAPS_CHARDEV_FD_PASS);
+
     return 0;
 }

@@ -5574,12 +5579,9 @@ qemuProcessInit(virQEMUDriverPtr driver,
     }

     VIR_DEBUG("Determining emulator version");
-    if (qemuProcessPrepareQEMUCaps(vm, driver->qemuCapsCache) < 0)
+    if (qemuProcessPrepareQEMUCaps(vm, driver->qemuCapsCache, flags) < 0)
         goto cleanup;

-    if (flags & VIR_QEMU_PROCESS_START_STANDALONE)
-        virQEMUCapsClear(priv->qemuCaps, QEMU_CAPS_CHARDEV_FD_PASS);
-
     if (qemuDomainUpdateCPU(vm, updatedCPU, &origCPU) < 0)
         goto cleanup;

-- 
2.23.0




More information about the libvir-list mailing list