diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c index 201c586b2156bf3bf53a280c4939167f2abf071d..0c5b0057d20f31d8f5b8770997e9abf90c96fdc5 100644 --- a/src/conf/snapshot_conf.c +++ b/src/conf/snapshot_conf.c @@ -1058,17 +1058,23 @@ cleanup: bool -virDomainSnapshotIsExternal(virDomainSnapshotObjPtr snap) +virDomainSnapshotDefIsExternal(virDomainSnapshotDefPtr def) { int i; - if (snap->def->memory == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL) + if (def->memory == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL) return true; - for (i = 0; i < snap->def->ndisks; i++) { - if (snap->def->disks[i].snapshot == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL) + for (i = 0; i < def->ndisks; i++) { + if (def->disks[i].snapshot == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL) return true; } return false; } + +bool +virDomainSnapshotIsExternal(virDomainSnapshotObjPtr snap) +{ + return virDomainSnapshotDefIsExternal(snap->def); +} diff --git a/src/conf/snapshot_conf.h b/src/conf/snapshot_conf.h index b0f87603af52e9c8dd416afd702fa01a1b5ec1ad..f1d5995a5d007e6167d916c55e3e64537d7627cb 100644 --- a/src/conf/snapshot_conf.h +++ b/src/conf/snapshot_conf.h @@ -166,6 +166,7 @@ int virDomainListSnapshots(virDomainSnapshotObjListPtr snapshots, virDomainSnapshotPtr **snaps, unsigned int flags); +bool virDomainSnapshotDefIsExternal(virDomainSnapshotDefPtr def); bool virDomainSnapshotIsExternal(virDomainSnapshotObjPtr snap); VIR_ENUM_DECL(virDomainSnapshotLocation) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 56366610b68aae9ae508c2e53d99a9fbbd8f090d..ac530fa7115bd54906c38b40faf7e1c43af639ed 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1097,6 +1097,7 @@ virDomainSnapshotAlignDisks; virDomainSnapshotAssignDef; virDomainSnapshotDefFormat; virDomainSnapshotDefFree; +virDomainSnapshotDefIsExternal; virDomainSnapshotDefParseString; virDomainSnapshotDropParent; virDomainSnapshotFindByName;