There's still a lot to go before virsh snapshot can manage disk
snapshots in addition to checkpoints, but I wanted to get the
review started on these.
Even with these patches, there are some major bugs with snapshots:
1. Snapshots aren't storing the domain XML. If you create a
snapshot, then hotplug a device, then revert to the snapshot,
then the reversion process should include hot-unplugging that
device (qemu won't automatically do it); fixing that requires
diffing the xml between now and the reversion point.
2. Restarting libvirtd forgets which snapshot is current. When
creating a new snapshot, it is important to remember the current
snapshot in order to track the relationships correctly.
3. Deleting a domain that has snapshots doesn't warn. Unlike
managed save images, where this represents data loss (you are
throwing away the saved RAM state of the guest), it might be
possible to permit undefining a domain with snapshots, but
that would require a way to define a domain based on a snapshot,
so maybe it really is better to prohibit undefining a domain
with snapshots.
4. Probably more issues that need thinking about...
Eric Blake (4):
qemu: minor formatting cleanup
qemu: give correct event when reverting to paused snapshot
qemu: improve reverting to paused snapshots
virsh: concatenate qemu-monitor-command arguments
include/libvirt/libvirt.h.in | 3 +-
src/qemu/qemu_driver.c | 76 +++++++++++++++++++++++++-----------------
tools/virsh.c | 19 ++++++++--
tools/virsh.pod | 6 ++-
4 files changed, 66 insertions(+), 38 deletions(-)
--
1.7.4.4