]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuBlockJobEventProcess: Always clear 'mirrorState' when a job finishes
authorPeter Krempa <pkrempa@redhat.com>
Mon, 11 Jan 2021 09:42:15 +0000 (10:42 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 11 Jan 2021 17:32:59 +0000 (18:32 +0100)
When a block job is terminated we should clear the 'mirrorState' and
'mirrorJob' variables so that stale values are not present prior to a
new job.

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

index 2a5a5e66f4ebccda037e5890a7aff209e5d72945..0d00dbc947383f13b81a5c4613aa24b71dde5c5d 100644 (file)
@@ -1691,6 +1691,10 @@ qemuBlockJobEventProcess(virQEMUDriverPtr driver,
     case QEMU_BLOCKJOB_STATE_FAILED:
     case QEMU_BLOCKJOB_STATE_CANCELLED:
     case QEMU_BLOCKJOB_STATE_CONCLUDED:
+        if (job->disk) {
+            job->disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_NONE;
+            job->disk->mirrorJob = VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN;
+        }
         qemuBlockJobEventProcessConcluded(job, driver, vm, asyncJob);
         break;