]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: simplify getting completed job stats
authorNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Fri, 1 Sep 2017 06:49:25 +0000 (09:49 +0300)
committerJiri Denemark <jdenemar@redhat.com>
Thu, 7 Sep 2017 09:09:41 +0000 (11:09 +0200)
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_driver.c

index 0e9000556c716a518a7ff6c763d0fda0161f4007..2cc5f4eb020df01cf90383e2c6ce63e9ca6cc664 100644 (file)
@@ -12975,12 +12975,17 @@ qemuDomainGetJobStatsInternal(virQEMUDriverPtr driver,
                               qemuDomainJobInfoPtr jobInfo)
 {
     qemuDomainObjPrivatePtr priv = vm->privateData;
-    qemuDomainJobInfoPtr info;
     bool fetch = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_EVENT);
     int ret = -1;
 
-    if (completed)
-        fetch = false;
+    if (completed) {
+        if (priv->job.completed && !priv->job.current)
+            *jobInfo = *priv->job.completed;
+        else
+            jobInfo->status = QEMU_DOMAIN_JOB_STATUS_NONE;
+
+        return 0;
+    }
 
     /* Do not ask QEMU if migration is not even running yet  */
     if (!priv->job.current || !priv->job.current->stats.status)
@@ -12997,26 +13002,18 @@ qemuDomainGetJobStatsInternal(virQEMUDriverPtr driver,
             return -1;
     }
 
-    if (!completed &&
-        !virDomainObjIsActive(vm)) {
+    if (!virDomainObjIsActive(vm)) {
         virReportError(VIR_ERR_OPERATION_INVALID, "%s",
                        _("domain is not running"));
         goto cleanup;
     }
 
-    if (completed && priv->job.current)
-        info = NULL;
-    else if (completed)
-        info = priv->job.completed;
-    else
-        info = priv->job.current;
-
-    if (!info) {
+    if (!priv->job.current) {
         jobInfo->status = QEMU_DOMAIN_JOB_STATUS_NONE;
         ret = 0;
         goto cleanup;
     }
-    *jobInfo = *info;
+    *jobInfo = *priv->job.current;
 
     if (jobInfo->status == QEMU_DOMAIN_JOB_STATUS_ACTIVE ||
         jobInfo->status == QEMU_DOMAIN_JOB_STATUS_POSTCOPY) {