]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: blockjob: Mark job as started only when it's new
authorPeter Krempa <pkrempa@redhat.com>
Thu, 24 Jan 2019 09:31:38 +0000 (10:31 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 29 Jan 2019 12:41:16 +0000 (13:41 +0100)
Switching a block job to some states (e.g. QEMU_BLOCKJOB_STATE_READY)
might not require a job, thus if it will become ready asynchronously we
should not overwrite the state any more.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
src/qemu/qemu_blockjob.c

index 2f9f2b5b04e030f24b5a87695f0502b1ad12c919..09a2975231a4b2b77c84333a680c9f4c67c0bd45 100644 (file)
@@ -149,7 +149,8 @@ qemuBlockJobDiskGetJob(virDomainDiskDefPtr disk)
 void
 qemuBlockJobStarted(qemuBlockJobDataPtr job)
 {
-    job->state = QEMU_BLOCKJOB_STATE_RUNNING;
+    if (job->state == QEMU_BLOCKJOB_STATE_NEW)
+        job->state = QEMU_BLOCKJOB_STATE_RUNNING;
 }