2010/3/30 Jiri Denemark <jdenemar@xxxxxxxxxx>: > Hi. > > ... >> /* NOTE: struct _virDomainSnapshot is a private structure, ala >> * struct _virDomain. >> */ >> typedef struct _virDomainSnapshot virDomainSnapshot; >> >> /* Take a snapshot of the current VM state. Throws an error if >> * the VM is not currently running */ >> virDomainSnapshotPtr virDomainSnapshotCreateXML(virDomainPtr domain, >> const char *xmlDesc, >> unsigned int flags); > > This is probably a leftover from previous versions, but... why do we restrict > this API only for running VMs? > Yep, if a domain it not running you'll just get a disk snapshot without a memory snapshot. > ... >> Possible issues: >> 1) I don't see a way to support "managed" save/restore and snapshotting with >> this API. I think we'll have to have a separate API for managed save/restore. >> 2) What is the semantic for deleting snapshots from a running domain? >> Virtualbox seems to not allow you to manipulate snapshots while the domain is >> running. Qemu does allow this, but it's currently unclear what the exact >> semantics are. VMware seems to allow manipulation of snapshots while the >> domain is running. >> 3) Do we need a snapshot UUID? Virtualbox allows you to have multiple snapshots >> with the same name, differentiated by UUID. Confusingly, they also have a >> "FindByName" method that returns the first depth-first search snapshot that matches >> a given name. For qemu, if you specify the same name twice it overwrites the previous >> one with the new one. I don't know what ESX does here. > > Libvirt uses/generates UUIDs for almost everything (networks, vms, ...) so it > might be more consistent to have UUID in snapshot as well. ESX snapshots don't have a UUID, and there is no easy way to store an UUID-to-snapshot mapping. Matthias -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list