This set consists of multiple parts: The first 4 patches are a rebase of Eric's series to add external checkpoint support to the XML. I posted them as I had some conflicts to solve when rebasing them lately. Patches 5-10 are a re-send of my previously posted series to add ability to create external checkpoints. These are only rebased and I did _not_ apply review feedback to them. Patches 11-20 are new and consist of a few cleanups and refactors to implement needed functionality to revert an external snapshot. There are three new features: 1) creation of offline external snapshots 2) deletion of external snapshots (with a few limitations) 3) reverting of external snapshots When this series will be closer to being "pushable" I'll post another cleanup that will split out all snapshot related code in qemu into a separate file as it's a mess right now. Eric Blake (4): snapshot: new XML for external system checkpoint snapshot: improve disk align checking snapshot: populate new XML info for qemu snapshots snapshot: merge pre-snapshot checks Peter Krempa (16): qemu: Split out code to save domain memory to allow reuse snapshot: Add flag to enable creating checkpoints in paused state snapshot: qemu: Add async job type for snapshots snapshot: qemu: Rename qemuDomainSnapshotCreateActive snapshot: qemu: Add support for external checkpoints snapshot: qemu: Remove restrictions preventing external snapshots qemu: snapshot: Clean up snapshot retrieval to use the new helper qemu: Split out guts of qemuDomainSaveImageStartVM() to allow reuse snapshot: qemu: Add flag VIR_DOMAIN_SNAPSHOT_REVERT_STOPPED snapshot: qemu: Add support for external inactive snapshots conf: Fix private symbols exported by files in conf conf: Add helper to determine if snapshot is external snapshot: qemu: Add detail option for PMSUSPENDED event. snapshot: qemu: Fix detection of external snapshots when deleting snapshot: qemu: Add support for external snapshot deletion. snapshot: qemu: Implement reverting of external snapshots docs/formatsnapshot.html.in | 11 + docs/schemas/domainsnapshot.rng | 23 + examples/domain-events/events-c/event-test.c | 3 + include/libvirt/libvirt.h.in | 7 + src/conf/snapshot_conf.c | 102 +- src/conf/snapshot_conf.h | 6 + src/libvirt.c | 9 +- src/libvirt_private.syms | 48 +- src/qemu/qemu_domain.c | 125 ++- src/qemu/qemu_domain.h | 1 + src/qemu/qemu_driver.c | 1111 ++++++++++++++------ src/qemu/qemu_process.c | 19 + tests/domainsnapshotxml2xmlin/external_vm.xml | 10 + tests/domainsnapshotxml2xmlin/noparent.xml | 9 + tests/domainsnapshotxml2xmlout/all_parameters.xml | 1 + tests/domainsnapshotxml2xmlout/disk_snapshot.xml | 1 + tests/domainsnapshotxml2xmlout/external_vm.xml | 43 + tests/domainsnapshotxml2xmlout/full_domain.xml | 1 + tests/domainsnapshotxml2xmlout/metadata.xml | 1 + tests/domainsnapshotxml2xmlout/noparent.xml | 1 + .../noparent_nodescription.xml | 1 + .../noparent_nodescription_noactive.xml | 1 + tests/domainsnapshotxml2xmltest.c | 1 + tools/virsh-domain-monitor.c | 2 + tools/virsh-snapshot.c | 9 + tools/virsh.pod | 21 +- 26 files changed, 1207 insertions(+), 360 deletions(-) create mode 100644 tests/domainsnapshotxml2xmlin/external_vm.xml create mode 100644 tests/domainsnapshotxml2xmlin/noparent.xml create mode 100644 tests/domainsnapshotxml2xmlout/external_vm.xml -- 1.7.12.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list