[libvirt] RFCv2: virDomainSnapshotCreateXML enhancements

Eric Blake eblake at redhat.com
Tue Aug 23 15:18:49 UTC 2011


On 08/23/2011 09:12 AM, Stefan Hajnoczi wrote:
> Hmm...so there is no abstraction.  I still need to understand what the
> underlying snapshot implementation does and what its limitations are.

We're still trying to get to that point.  A while ago, I posted an RFC 
for adding virStorageVolSnapshot* APIs, which would be the ideal place 
to expose storage-volume independent wrappers around snapshot 
management.  The idea is still that we can use APIs like that (instead 
of low-level access to the snapshot image file) to stream snapshot data 
from a remote host back to the client.  We also need a new API that lets 
you quickly access all of the storage volumes associated with a domain 
(my patch to add 'virsh domblklist' is a start at getting at all the 
storage volume names, but not quite as good as getting the actual 
virStorageVolPtr objects).

>
> This is what I meant when I asked about aiming for something more
> high-level where the user doesn't need to be an expert in snapshots to
> use this API.  In order to access the snapshot I need to use an
> out-of-band (ssh?) mechanism to get to the libvirt host and know how
> to access the external snapshot image file.  If that image file is
> using an image format then I need to use libguestfs, qemu-io/qemu-img,
> or custom code to access the format.

For now, yes.  But hopefully the work I'm doing is providing enough 
framework to later add the additions that can indeed expose libvirt APIs 
rather than low-level tool knowledge to get at the snapshots.

>
> I think we simply cannot expose all this complexity to users.  Each
> application would have to support the many different cases.  Libvirt
> needs to tie this stuff together and present an interface that
> applications can use without worrying how to actually get at the
> snapshot data.

I don't see any problem with exposing the lower layers as a start, then 
adding higher layers as we go.  There are different classes of users, 
and both layers are useful in the right context.  But at the same time, 
I agree with you that what I have done so far is just a start, and by no 
means the end of snapshot-related libvirt work.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list