mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-05 22:05:47 +00:00
virdomainmomentobjlist: introduce virDomainMomentIsAncestor
This new helper will allow us to check if we are able to delete external snapshot after user did revert to non-leaf snapshot. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
1392be7092
commit
f879eae3e7
@ -582,3 +582,20 @@ virDomainMomentFindLeaf(virDomainMomentObjList *list)
|
|||||||
return moment;
|
return moment;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Check if @moment is descendant of @ancestor. */
|
||||||
|
bool
|
||||||
|
virDomainMomentIsAncestor(virDomainMomentObj *moment,
|
||||||
|
virDomainMomentObj *ancestor)
|
||||||
|
{
|
||||||
|
if (moment == ancestor)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
for (moment = moment->parent; moment; moment = moment->parent) {
|
||||||
|
if (moment == ancestor)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@ -157,3 +157,7 @@ virDomainMomentCheckCycles(virDomainMomentObjList *list,
|
|||||||
|
|
||||||
virDomainMomentObj *
|
virDomainMomentObj *
|
||||||
virDomainMomentFindLeaf(virDomainMomentObjList *list);
|
virDomainMomentFindLeaf(virDomainMomentObjList *list);
|
||||||
|
|
||||||
|
bool
|
||||||
|
virDomainMomentIsAncestor(virDomainMomentObj *moment,
|
||||||
|
virDomainMomentObj *ancestor);
|
||||||
|
@ -1221,6 +1221,7 @@ virDomainMomentDropChildren;
|
|||||||
virDomainMomentDropParent;
|
virDomainMomentDropParent;
|
||||||
virDomainMomentForEachChild;
|
virDomainMomentForEachChild;
|
||||||
virDomainMomentForEachDescendant;
|
virDomainMomentForEachDescendant;
|
||||||
|
virDomainMomentIsAncestor;
|
||||||
virDomainMomentMoveChildren;
|
virDomainMomentMoveChildren;
|
||||||
virDomainMomentObjFree;
|
virDomainMomentObjFree;
|
||||||
virDomainMomentObjNew;
|
virDomainMomentObjNew;
|
||||||
|
Loading…
Reference in New Issue
Block a user