libvirt/qemuBlockJobEventProcess-Always-clear-mirrorState-wh.patch

39 lines
1.3 KiB
Diff
Raw Normal View History

From 7f41d4ce90e7bdb26388a8ce98c20a229acc5cc9 Mon Sep 17 00:00:00 2001
From: Peter Krempa <pkrempa@redhat.com>
Date: Mon, 11 Jan 2021 10:42:15 +0100
Subject: [PATCH 083/108] qemuBlockJobEventProcess: Always clear 'mirrorState'
when a job finishes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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>
(cherry picked from commit 202d61db4870468a02817e64fefb5ede06b8a59a)
---
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 b4431b54f5..bac064b53a 100644
--- a/src/qemu/qemu_blockjob.c
+++ b/src/qemu/qemu_blockjob.c
@@ -1634,6 +1634,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.33.0