[RFC PATCH 3/7] qemu_hotplug: Add asynJob argument to qemuDomainRemoveDiskDevice

Masayoshi Mizuma msys.mizuma at gmail.com
Sat Jan 23 01:11:02 UTC 2021


From: Masayoshi Mizuma <m.mizuma at jp.fujitsu.com>

Add asynJob argument to qemuDomainRemoveDiskDevice() so that it can
be used before CPUs start.

Signed-off-by: Masayoshi Mizuma <m.mizuma at jp.fujitsu.com>
---
 src/qemu/qemu_hotplug.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index a61899d53a..b989652533 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -4302,7 +4302,8 @@ static bool qemuIsMultiFunctionDevice(virDomainDefPtr def,
 static int
 qemuDomainRemoveDiskDevice(virQEMUDriverPtr driver,
                            virDomainObjPtr vm,
-                           virDomainDiskDefPtr disk)
+                           virDomainDiskDefPtr disk,
+                           qemuDomainAsyncJob asyncJob)
 {
     qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
     g_autoptr(qemuBlockStorageSourceChainData) diskBackend = NULL;
@@ -4347,7 +4348,8 @@ qemuDomainRemoveDiskDevice(virQEMUDriverPtr driver,
         }
     }
 
-    qemuDomainObjEnterMonitor(driver, vm);
+    if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
+        goto cleanup;
 
     if (corAlias)
         ignore_value(qemuMonitorBlockdevDel(priv->mon, corAlias));
@@ -5093,7 +5095,8 @@ qemuDomainRemoveDevice(virQEMUDriverPtr driver,
          * into this function.
          */
     case VIR_DOMAIN_DEVICE_DISK:
-        if (qemuDomainRemoveDiskDevice(driver, vm, dev->data.disk) < 0)
+        if (qemuDomainRemoveDiskDevice(driver, vm, dev->data.disk,
+                                       QEMU_ASYNC_JOB_NONE) < 0)
             return -1;
         break;
     case VIR_DOMAIN_DEVICE_CONTROLLER:
-- 
2.27.0




More information about the libvir-list mailing list