mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-11 00:58:38 +03:00
util: storage: Add helper for determining whether a backing chain requires PR
With blockdev support we will need to introspect whether any of the backing chain members requires PR rather just one of them. Add a helper and reuse it in virDomainDefHasManagedPR. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
3875459235
commit
8ac8301366
@ -29946,7 +29946,7 @@ virDomainDefHasManagedPR(const virDomainDef *def)
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < def->ndisks; i++) {
|
||||
if (virStoragePRDefIsManaged(def->disks[i]->src->pr))
|
||||
if (virStorageSourceChainHasManagedPR(def->disks[i]->src))
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -2815,6 +2815,7 @@ virStoragePRDefIsEqual;
|
||||
virStoragePRDefIsManaged;
|
||||
virStoragePRDefParseXML;
|
||||
virStorageSourceBackingStoreClear;
|
||||
virStorageSourceChainHasManagedPR;
|
||||
virStorageSourceClear;
|
||||
virStorageSourceCopy;
|
||||
virStorageSourceFindByNodeName;
|
||||
|
@ -2025,6 +2025,20 @@ virStoragePRDefIsManaged(virStoragePRDefPtr prd)
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
virStorageSourceChainHasManagedPR(virStorageSourcePtr src)
|
||||
{
|
||||
virStorageSourcePtr n;
|
||||
|
||||
for (n = src; virStorageSourceIsBacking(n); n = n->backingStore) {
|
||||
if (virStoragePRDefIsManaged(src->pr))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
virSecurityDeviceLabelDefPtr
|
||||
virStorageSourceGetSecurityLabelDef(virStorageSourcePtr src,
|
||||
const char *model)
|
||||
|
@ -400,6 +400,9 @@ bool virStoragePRDefIsEqual(virStoragePRDefPtr a,
|
||||
virStoragePRDefPtr b);
|
||||
bool virStoragePRDefIsManaged(virStoragePRDefPtr prd);
|
||||
|
||||
bool
|
||||
virStorageSourceChainHasManagedPR(virStorageSourcePtr src);
|
||||
|
||||
virSecurityDeviceLabelDefPtr
|
||||
virStorageSourceGetSecurityLabelDef(virStorageSourcePtr src,
|
||||
const char *model);
|
||||
|
Loading…
x
Reference in New Issue
Block a user