diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 724e3ff24b8378cbfa27b810f9b36d8a19f645b2..155333ea6f15b13b5dcfc3cd9b0b033f994eb201 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -1853,6 +1853,10 @@ qemuMigrationDriveMirror(virQEMUDriverPtr driver, } else { VIR_WARN("Unable to enter monitor. No block job cancelled"); } + + /* If disk mirror is already aborted, clear the mirror state now */ + if (disk->mirrorState == VIR_DOMAIN_DISK_MIRROR_STATE_ABORT) + disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_NONE; } if (err) virSetError(err); @@ -1921,6 +1925,10 @@ qemuMigrationCancelDriveMirror(qemuMigrationCookiePtr mig, ret = -1; goto cleanup; } + + /* If disk mirror is already aborted, clear the mirror state now */ + if (disk->mirrorState == VIR_DOMAIN_DISK_MIRROR_STATE_ABORT) + disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_NONE; } cleanup: