]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuMigrationSrcNBDStorageCopyReady: Use ready-state of mirror from qemuBlockJobData
authorPeter Krempa <pkrempa@redhat.com>
Mon, 11 Jan 2021 09:40:43 +0000 (10:40 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 11 Jan 2021 17:32:59 +0000 (18:32 +0100)
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 <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_migration.c

index c5108e55a0a4ab5ef0aa4237c1eebb69a21b0316..5353c7ee0187da5c780eeb892b3748e0e89c337c 100644 (file)
@@ -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) {