mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
qemu: domain: Carefuly transfer configuration from disk to storage source
Some properties don't make sense to be configured for every single layer of the backing chain, but to avoid needing to pass the disk structure we will copy them to the individual virStorageSource. Zero detection is applied only for the top layer image, while caching and iomode for all layers. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
d302b5896e
commit
8a78f88a1a
@ -11834,6 +11834,9 @@ qemuDomainPrepareDiskSourceChain(virDomainDiskDefPtr disk,
|
||||
if (!src)
|
||||
src = disk->src;
|
||||
|
||||
/* transfer properties valid only for the top level image */
|
||||
src->detect_zeroes = disk->detect_zeroes;
|
||||
|
||||
for (n = src; virStorageSourceIsBacking(n); n = n->backingStore) {
|
||||
if (n->type == VIR_STORAGE_TYPE_NETWORK &&
|
||||
n->protocol == VIR_STORAGE_NET_PROTOCOL_GLUSTER &&
|
||||
@ -11844,6 +11847,11 @@ qemuDomainPrepareDiskSourceChain(virDomainDiskDefPtr disk,
|
||||
|
||||
if (qemuDomainValidateStorageSource(n, qemuCaps) < 0)
|
||||
return -1;
|
||||
|
||||
/* transfer properties valid for the full chain */
|
||||
n->iomode = disk->iomode;
|
||||
n->cachemode = disk->cachemode;
|
||||
n->discard = disk->discard;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user