On 06/13/2012 05:55 AM, Peter Krempa wrote:
On 06/10/12 05:37, Eric Blake wrote:
> 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/libvirt.h.in (virDomainListAllSnapshots)
> (virDomainSnapshotListAllChildren): New declarations.
> * src/libvirt.c (virDomainListAllSnapshots)
> (virDomainSnapshotListAllChildren): New functions.
> * src/libvirt_public.syms (LIBVIRT_0.9.13): Export them.
> * src/driver.h (virDrvDomainListAllSnapshots)
> (virDrvDomainSnapshotListAllChildren): New callbacks.
> * python/generator.py (skip_function): Prepare for later
> hand-written versions.
> ---
This patch conflicts on src/libvirt_public.syms and I'm not a git guru
enough to persuade it :( (3-way merge fails on invalid hash information)
Could you please post a rebased version?
I still have to finish patch 7/8 and 8/8 anyways, so yes, I'll post a v2
soon.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org