This will be reused by hotplug code.

Signed-off-by: Pavel Hrdina <[email protected]>
---
 src/qemu/qemu_command.c | 20 ++++++++++++++++----
 src/qemu/qemu_command.h |  3 +++
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index cdf2f91ece..a742998e4c 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -5344,6 +5344,21 @@ qemuBuildHostdevCommandLine(virCommand *cmd,
 }
 
 
+virJSONValue *
+qemuBuildIOMMUFDProps(qemuFDPassDirect *iommufd)
+{
+    g_autoptr(virJSONValue) props = NULL;
+
+    if (qemuMonitorCreateObjectProps(&props, "iommufd",
+                                     "iommufd0",
+                                     "S:fd", qemuFDPassDirectGetPath(iommufd),
+                                     NULL) < 0)
+        return NULL;
+
+    return g_steal_pointer(&props);
+}
+
+
 static int
 qemuBuildIOMMUFDCommandLine(virCommand *cmd,
                             const virDomainDef *def,
@@ -5357,10 +5372,7 @@ qemuBuildIOMMUFDCommandLine(virCommand *cmd,
 
     qemuFDPassDirectTransferCommand(priv->iommufd, cmd);
 
-    if (qemuMonitorCreateObjectProps(&props, "iommufd",
-                                     "iommufd0",
-                                     "S:fd", 
qemuFDPassDirectGetPath(priv->iommufd),
-                                     NULL) < 0)
+    if (!(props = qemuBuildIOMMUFDProps(priv->iommufd)))
         return -1;
 
     if (qemuBuildObjectCommandlineFromJSON(cmd, props) < 0)
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index ad068f1f16..028d002ef9 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -190,6 +190,9 @@ int
 qemuBuildRNGBackendProps(virDomainRNGDef *rng,
                          virJSONValue **props);
 
+virJSONValue *
+qemuBuildIOMMUFDProps(qemuFDPassDirect *iommufd);
+
 /* Current, best practice */
 virJSONValue *
 qemuBuildUSBHostdevDevProps(const virDomainDef *def,
-- 
2.53.0

Reply via email to