提交 56ad575d 编写于 作者: P Peter Krempa

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: NPeter Krempa <pkrempa@redhat.com>
ACKed-by: NEric Blake <eblake@redhat.com>
上级 d3833b07
......@@ -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",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册