mirror of https://gitee.com/openkylin/libvirt.git
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
src/conf
|
@ -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…
Reference in New Issue