In v5.10.0-rc1~42 (which was later fixed in v6.0.0-rc1~487) I am
removing XATTRs for a file that QEMU is mirroring a disk into but
it is killed meanwhile. Well, if we call
qemuDomainStorageSourceAccessRevoke() instead of
qemuBlockRemoveImageMetadata() then not only the file will have
perms fixed (instead of left accessible to qemu) but if the
mirror destination is not a file but a NVMe disk, then the disk
will be reattached back to the host.
Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=1825785
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_process.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 8ea470f75f..70c71e069c 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -7605,7 +7605,7 @@ void qemuProcessStop(virQEMUDriverPtr driver,
virDomainDiskDefPtr disk = def->disks[i];
if (disk->mirror)
- qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->mirror);
+ qemuDomainStorageSourceAccessRevoke(driver, vm, disk->mirror);
qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->src);
}
--
2.26.2