]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: blockjob: Use the new helpers in qemuDomainGetBlockJobInfo
authorPeter Krempa <pkrempa@redhat.com>
Wed, 1 Apr 2015 07:36:04 +0000 (09:36 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 9 Apr 2015 12:11:49 +0000 (14:11 +0200)
Refactor the function to use the new helpers.

src/qemu/qemu_driver.c

index 921417c0930fcef243ceeb9a5736eb678b99bb7f..eaaf7c9df9f68eb396d6c5c42fa42fa92db82cd0 100644 (file)
@@ -16451,7 +16451,6 @@ qemuDomainGetBlockJobInfo(virDomainPtr dom, const char *path,
                            virDomainBlockJobInfoPtr info, unsigned int flags)
 {
     virQEMUDriverPtr driver = dom->conn->privateData;
-    qemuDomainObjPrivatePtr priv;
     virDomainObjPtr vm;
     char *device = NULL;
     int idx;
@@ -16464,12 +16463,9 @@ qemuDomainGetBlockJobInfo(virDomainPtr dom, const char *path,
     if (!(vm = qemuDomObjFromDomain(dom)))
         return -1;
 
-    if (virDomainGetBlockJobInfoEnsureACL(dom->conn, vm->def) < 0) {
-        qemuDomObjEndAPI(&vm);
-        return -1;
-    }
+    if (virDomainGetBlockJobInfoEnsureACL(dom->conn, vm->def) < 0)
+        goto cleanup;
 
-    priv = vm->privateData;
 
     if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0)
         goto cleanup;
@@ -16480,20 +16476,16 @@ qemuDomainGetBlockJobInfo(virDomainPtr dom, const char *path,
         goto endjob;
     }
 
-    if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKJOB_ASYNC) &&
-        !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKJOB_SYNC)) {
-        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                       _("block jobs not supported with this QEMU binary"));
+    if (qemuDomainSupportsBlockJobs(vm, NULL) < 0)
         goto endjob;
-    }
 
-    device = qemuDiskPathToAlias(vm, path, &idx);
-    if (!device)
+    if (!(device = qemuDiskPathToAlias(vm, path, &idx)))
         goto endjob;
     disk = vm->def->disks[idx];
 
     qemuDomainObjEnterMonitor(driver, vm);
-    ret = qemuMonitorBlockJobInfo(priv->mon, device, info, &bandwidth);
+    ret = qemuMonitorBlockJobInfo(qemuDomainGetMonitor(vm), device, info,
+                                  &bandwidth);
     if (qemuDomainObjExitMonitor(driver, vm) < 0)
         ret = -1;
     if (ret < 0)