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 <pkre...@redhat.com>
---
 src/qemu/qemu_blockjob.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c
index 2a5a5e66f4..0d00dbc947 100644
--- a/src/qemu/qemu_blockjob.c
+++ b/src/qemu/qemu_blockjob.c
@@ -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;

-- 
2.29.2

Reply via email to