[libvirt] RFC: API additions for enhanced snapshot support

Stefan Hajnoczi stefanha at gmail.com
Wed Jul 27 10:04:08 UTC 2011

On Thu, Jun 16, 2011 at 6:41 AM, Eric Blake <eblake at redhat.com> wrote:
> Right now, libvirt has a snapshot API via virDomainSnapshotCreateXML,
> but for qemu domains, it only works if all the guest disk images are
> qcow2, and qemu rather than libvirt does all the work.  However, it has
> a couple of drawbacks: it is inherently tied to domains (there is no way
> to manage snapshots of storage volumes not tied to a domain, even though
> libvirt does that for qcow2 images associated with offline qemu domains
> by using the qemu-img application).  And it necessarily operates on all
> of the images associated with a domain in parallel - if any disk image
> is not qcow2, the snapshot fails, and there is no way to select a subset
> of disks to save.  However, it works on both active (disk and memory
> state) and inactive domains (just disk state).

Hi Eric,
Any updates on your proposed snapshot API enhancements?

The use case I am particularly interested in is a backup solution
using libvirt snapshot APIs to take consistent backups of guests.  The
two workflows are reading out full snapshots of disk images (full
backup) and reading only those blocks that have changed since the last
backup (incremental backup).

Incremental backups can be done just like full backups except with an
API call to get a dirty blocks list.  The client only reads out those
dirty blocks from the snapshot.


More information about the libvir-list mailing list