mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
qemu: blockjob: Ensure that config disk source is identical when modifying it
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@redhat.com> ACKed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
d3833b0799
commit
56ad575dbe
@ -479,6 +479,9 @@ qemuBlockJobRewriteConfigDiskSource(virDomainObjPtr vm,
|
||||
if (!(persistDisk = virDomainDiskByName(vm->newDef, disk->dst, false)))
|
||||
return;
|
||||
|
||||
if (!virStorageSourceIsSameLocation(disk->src, persistDisk->src))
|
||||
return;
|
||||
|
||||
if (!(copy = virStorageSourceCopy(newsrc, false)) ||
|
||||
virStorageSourceInitChainElement(copy, persistDisk->src, true) < 0) {
|
||||
VIR_WARN("Unable to update persistent definition on vm %s after block job",
|
||||
|
Loading…
x
Reference in New Issue
Block a user