]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: End nested jobs properly
authorJiri Denemark <jdenemar@redhat.com>
Thu, 28 Jan 2016 12:48:17 +0000 (13:48 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Fri, 19 Feb 2016 14:41:57 +0000 (15:41 +0100)
Ending a nested job is no different from ending any other (non-async)
job, after all the code in qemuDomainBeginJobInternal does not handle
them differently either. Thus we should call qemuDomainObjEndJob to stop
nested jobs.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_domain.c

index 09c173ca409713b75eaef7ca8986eb35ff4318b7..4ea9a71f46b36cc031fce2b2fd7d107839a7d7e7 100644 (file)
@@ -1933,11 +1933,8 @@ qemuDomainObjExitMonitorInternal(virQEMUDriverPtr driver,
     if (!hasRefs)
         priv->mon = NULL;
 
-    if (priv->job.active == QEMU_JOB_ASYNC_NESTED) {
-        qemuDomainObjResetJob(priv);
-        qemuDomainObjSaveJob(driver, obj);
-        virCondSignal(&priv->job.cond);
-    }
+    if (priv->job.active == QEMU_JOB_ASYNC_NESTED)
+        qemuDomainObjEndJob(driver, obj);
 }
 
 void qemuDomainObjEnterMonitor(virQEMUDriverPtr driver,