On 7/24/19 4:07 PM, Peter Krempa wrote:
qemuBlockJobRewriteConfigDiskSource rewrites the disk source only
according to the 'target'. This means that if someone would change the
inactive config of the VM to refer to a different disk a block job would
rewrite it when finishing a job which modifies the disk source.
Make sure that this does not happen by verifying that the source of the
config disk is the same.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_blockjob.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c
index f5574b7e03..0c0ae89f10 100644
--- a/src/qemu/qemu_blockjob.c
+++ b/src/qemu/qemu_blockjob.c
@@ -479,6 +479,9 @@ qemuBlockJobRewriteConfigDiskSource(virDomainObjPtr vm,
if (!(persistDisk = virDomainDiskByName(vm->newDef, disk->dst, false)))
return;
+ if (!virStorageSourceIsSameLocation(disk->src, persistDisk->src))
+ return;
ACK.
Especially useful if I hotunplug disk vdb pointing to file1 and then
hotplug disk vdb pointing to file2, but without updating config in the
meantime.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization:
qemu.org |
libvirt.org