]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: processBlockJobEvent: Use qemuBlockJobUpdate to process block job events
authorPeter Krempa <pkrempa@redhat.com>
Tue, 16 Oct 2018 09:47:32 +0000 (11:47 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 17 Jan 2019 16:12:50 +0000 (17:12 +0100)
Replace use of qemuBlockJobEventProcess with the general helper. A small
tweak is required to pass in the 'type' and 'status' of the job via the
appropriate private data variables.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_driver.c

index 5032edec50f97aae3d147b91dd854975b732cd6f..3010d875370e250b137c3bec2f279e9e396f641a 100644 (file)
@@ -4717,6 +4717,7 @@ processBlockJobEvent(virQEMUDriverPtr driver,
                      int status)
 {
     virDomainDiskDefPtr disk;
+    qemuDomainDiskPrivatePtr diskPriv;
 
     if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0)
         return;
@@ -4726,8 +4727,17 @@ processBlockJobEvent(virQEMUDriverPtr driver,
         goto endjob;
     }
 
-    if ((disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, diskAlias, NULL)))
-        qemuBlockJobEventProcess(driver, vm, disk, QEMU_ASYNC_JOB_NONE, type, status);
+    if (!(disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, diskAlias, NULL))) {
+        VIR_DEBUG("disk %s not found", diskAlias);
+        goto endjob;
+    }
+
+    diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
+
+    diskPriv->blockJobType = type;
+    diskPriv->blockJobStatus = status;
+
+    qemuBlockJobUpdate(vm, QEMU_ASYNC_JOB_NONE, disk, NULL);
 
  endjob:
     qemuDomainObjEndJob(driver, vm);