diff options
authorEric Blake <>2012-05-23 10:40:50 -0600
committerEric Blake <>2012-06-19 13:50:03 -0600
commit7beedf6c6330c8ea5aa8e3d2d31c13e1cc7b780d (patch)
parent3e25987d1a4cef5074e880af1d63a5d0d229e352 (diff)
list: add virDomainListAllSnapshots API
There was an inherent race between virDomainSnapshotNum() and virDomainSnapshotListNames(), where an additional snapshot could be created in the meantime, or where a snapshot could be deleted before converting the name back to a virDomainSnapshotPtr. It was also an awkward name: the function operates on domains, not domain snapshots. virDomainSnapshotListChildrenNames() suffered from the same inherent race, although its naming was nicer. This patch makes things nicer by grabbing a snapshot list atomically, in the format most useful to the user. * include/libvirt/ (virDomainListAllSnapshots) (virDomainSnapshotListAllChildren): New declarations. * src/libvirt.c (virDomainSnapshotListNames) (virDomainSnapshotListChildrenNames): Add cross-references. (virDomainListAllSnapshots, virDomainSnapshotListAllChildren): New functions. * src/libvirt_public.syms (LIBVIRT_0.9.13): Export them. * src/driver.h (virDrvDomainListAllSnapshots) (virDrvDomainSnapshotListAllChildren): New callbacks. * python/ (skip_function): Prepare for later hand-written versions.
1 files changed, 2 insertions, 0 deletions
diff --git a/ b/
index 0b6ac7c..2dada6e 100755
--- a/
+++ b/
@@ -454,6 +454,8 @@ skip_function = (
'virSaveLastError', # We have our own python error wrapper
'virFreeError', # Only needed if we use virSaveLastError
'virConnectListAllDomains', #overridden in
+ 'virDomainListAllSnapshots', # overridden in
+ 'virDomainSnapshotListAllChildren', # overridden in
'virStreamRecvAll', # Pure python
'virStreamSendAll', # Pure python