On 03/16/2012 04:05 PM, Eric Blake wrote: > Taking an external snapshot of just one disk is atomic, without having > to pause and resume the VM. This also paves the way for later patches > to interact with the new qemu 'transaction' monitor command. > > The various scenarios when requesting atomic are: > online, 1 disk, old qemu - safe, allowed by this patch > online, more than 1 disk, old qemu - failure, this patch > offline snapshot - safe, once a future patch implements offline disk snapshot > online, 1 or more disks, new qemu - safe, once future patch uses transaction This is incomplete: > @@ -10069,7 +10081,8 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain, > VIR_DOMAIN_SNAPSHOT_CREATE_HALT | > VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY | > VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT | > - VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE, NULL); > + VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE | > + VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC, NULL); By accepting the new 'atomic' flag, we now have to ensure it works for all modes. As written, v1 covered the disk-snapshot mode. The live system checkpoint mode is already atomic ('savevm' is a single monitor command; if it can fail partway through, that's a bug in qemu). But for offline internal snapshots, we were making iterative calls to 'qemu-img snapshot -c', and not cleaning up after partial failure. I'm sending a v2 to fix that. -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list