From a09c421e3e5969582ed0a5cf9a132ecbfd9794d2 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 11 Jan 2021 10:40:43 +0100 Subject: [PATCH] qemuMigrationSrcNBDStorageCopyReady: Use ready-state of mirror from qemuBlockJobData MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the per-job state to determine when the non-shared-storage mirror is complete rather than the per-disk definition one. The qemuBlockJobData is a newer approach and is always cleared after the blockjob is terminated while the 'mirrorState' variable in the definition of the disk may be left over. In such case the disk mirror would be considered complete prematurely. https://bugzilla.redhat.com/show_bug.cgi?id=1889131 Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_migration.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index c5108e55a0..5353c7ee01 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -591,10 +591,10 @@ qemuMigrationSrcNBDStorageCopyReady(virDomainObjPtr vm, return -1; } - virObjectUnref(job); - - if (disk->mirrorState != VIR_DOMAIN_DISK_MIRROR_STATE_READY) + if (job->state != VIR_DOMAIN_BLOCK_JOB_READY) notReady++; + + virObjectUnref(job); } if (notReady) {