mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
virDomainDiskTranslateSourcePool: Translate 'volume' disks in whole backing chain
Now that we accept full backing chains on input nothing should prevent users from also using disk type 'VOLUME' for specifying the backing images. Do the translation for the whole backing chain. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
63469116cc
commit
37f01262ee
@ -31562,18 +31562,20 @@ int
|
||||
virDomainDiskTranslateSourcePool(virDomainDiskDefPtr def)
|
||||
{
|
||||
g_autoptr(virConnect) conn = NULL;
|
||||
virStorageSourcePtr n;
|
||||
|
||||
if (def->src->type != VIR_STORAGE_TYPE_VOLUME)
|
||||
return 0;
|
||||
for (n = def->src; virStorageSourceIsBacking(n); n = n->backingStore) {
|
||||
if (n->type != VIR_STORAGE_TYPE_VOLUME || !n->srcpool)
|
||||
continue;
|
||||
|
||||
if (!def->src->srcpool)
|
||||
return 0;
|
||||
if (!conn) {
|
||||
if (!(conn = virGetConnectStorage()))
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(conn = virGetConnectStorage()))
|
||||
return -1;
|
||||
|
||||
if (virDomainStorageSourceTranslateSourcePool(def->src, conn) < 0)
|
||||
return -1;
|
||||
if (virDomainStorageSourceTranslateSourcePool(n, conn) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (def->startupPolicy != 0 &&
|
||||
virStorageSourceGetActualType(def->src) != VIR_STORAGE_VOL_FILE) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user