From Libvirt Wiki
Revision as of 23:03, 1 June 2011 by Eblake (talk | contribs) (new page)
(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search


APIs for managing live snapshots

Right now, this page serves as a discussion point to stabilize the design of new libvirt APIs needed to more fully manage snapshot operations.

QEMU migration wiki

Existing API

virDomainSave(domain, file) - saves _just_ the domain's memory state to user-specified file

virDomainRestore(domain, file) - restores domain memory from user-specified file; attached disks must be in same state as virDomainSave or guest will likely have corrupted disks

virDomainManagedSave(domain, flags) - saves _just_ the domain's memory state to libvirt-managed file, flags must be 0 for now

virDomainCreate(domain)/virDomainCreateWithFlags(domain,flags)/autostarted domains - if libvirt-managed file exists, load from that instead of starting from scratch, and delete managed file

virDomainHasManagedSaveImage(domain, flags) - checks if inactive domain has saved image, flags must be 0 for now

virDomainManagedSaveRemove(domain, flags) - removes libvirt-managed file

virDomainSnapshotCreateXML(domain, xml, flags) - snapshots _just_ disk state, flags must be 0 for now, and currently relies on qemu to do the snapshot which only works if all disks are qcow2

Proposed new API

virDomainSaveFlags(domain, file, flags)

Desired functionality