[libvirt] [PATCHv2 7/7] snapshot: implement snapshot children listing in qemu

Daniel Veillard veillard at redhat.com
Tue Oct 11 02:44:55 UTC 2011


On Mon, Oct 10, 2011 at 05:32:19PM -0600, Eric Blake wrote:
> On 10/09/2011 09:29 PM, Daniel Veillard wrote:
> >On Fri, Sep 30, 2011 at 05:09:29PM -0600, Eric Blake wrote:
> >>Not too hard to wire up.  The trickiest part is realizing that
> >>listing children of a snapshot cannot use SNAPSHOT_LIST_ROOTS,
> >>and that we overloaded that bit to also mean SNAPSHOT_LIST_DESCENDANTS;
> >>we use that bit to decide which iteration to use, but don't want
> >>the existing counting/listing functions to see that bit.
> >>
> 
> >>+static int
> >>+qemuDomainSnapshotNumChildren(virDomainSnapshotPtr snapshot,
> >>+                              unsigned int flags)
> >>+{
> >>+    struct qemud_driver *driver = snapshot->domain->conn->privateData;
> 
> >
> >   ACK,
> 
> I've now pushed 1-7.

  thanks !

> >I would tend to be a bit more defensive myself byt not dereferencing 3
> >layers of pointer as the first instructions in the function, but
> >if you're confident the structures can't be missing :-)
> 
> Yes, src/libvirt.c already validated that snapshot,
> snapshot->domain, and snapshot->domain->conn are all correct and
> non-NULL.  We do this same sort of 3-level validation in several
> other APIs, relying on libvirt.c to have filtered out invalid
> objects in advance of calling the hypervisor callback.

  okay :-)

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list