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 [email protected] +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
