I'm fairly confident that these API are ready to go (that is, I've got qemu code in the wings to implement these API for the qemu driver, as demonstrated at last KVM forum, and it shouldn't be too hard to add support in the test driver to get some 'make check' coverage similar to what I recently added for snapshots). I'm hoping the APIs make it in for 5.2, even if I'm still dealing with review churn on the later parts of my v5 series (there has been a lot of rebasing from earlier review comments, so v5 is currently still the most recent version that I was able to run demos with, although I hope to post the rest of v6 soon). The biggest diffs compared to v4/v5 are addressing many of John Ferlan's grammar suggestions, removing some TODO items from the public API (although implementing those changes, such as the new VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE, is still on my todo list), splitting some large patches (checkpoints and backups are now separated), moving the backup APIs into libvirt-domain.c instead of piggybacking on libvirt-domain-checkpoint.c, and adding 2 more API (virDomainSnapshotCreateXML2 to create a checkpoint at the same time as a snapshot; virDomainListJobIds to learn the job ids of all currently running backup jobs [the initial implementation will only ever have job id 1 due to qemu 4.0 limitations, but the API was designed with future expansion in mind]). I've also got some preliminary patches to snapshot in this posting based on things noticed while working checkpoints. 001/9:[down] 'Revert "snapshot: Add virDomainSnapshotObjListParse"' 002/9:[down] 'Revert "snapshot: Add virDomainSnapshotObjListFormat"' 003/9:[down] 'snapshot: Various doc tweaks' 004/9:[0005] [FC] 'backup: Introduce virDomainCheckpointPtr' 005/9:[down] 'backup: Document new XML for checkpoints' 006/9:[0562] [FC] 'backup: Document new XML for backups' 007/9:[0173] [FC] 'backup: Introduce virDomainCheckpoint APIs' 008/9:[0296] [FC] 'backup: Introduce virDomainBackup APIs' 009/9:[0039] [FC] 'backup: Document nuances between different state capture APIs' Eric Blake (9): Revert "snapshot: Add virDomainSnapshotObjListParse" Revert "snapshot: Add virDomainSnapshotObjListFormat" snapshot: Various doc tweaks backup: Introduce virDomainCheckpointPtr backup: Document new XML for checkpoints backup: Document new XML for backups backup: Introduce virDomainCheckpoint APIs backup: Introduce virDomainBackup APIs backup: Document nuances between different state capture APIs include/libvirt/virterror.h | 7 +- src/util/virerror.c | 12 +- include/libvirt/libvirt-domain-checkpoint.h | 161 ++++ include/libvirt/libvirt-domain-snapshot.h | 7 +- include/libvirt/libvirt-domain.h | 59 +- include/libvirt/libvirt.h | 3 +- src/conf/snapshot_conf.h | 7 - src/conf/virdomainmomentobjlist.h | 5 +- src/conf/virdomainsnapshotobjlist.h | 13 - src/datatypes.h | 33 +- src/driver-hypervisor.h | 87 ++- src/qemu/qemu_blockjob.h | 1 + docs/Makefile.am | 3 + docs/apibuild.py | 2 + docs/docs.html.in | 10 +- docs/domainstatecapture.html.in | 313 ++++++++ docs/format.html.in | 2 + docs/formatbackup.html.in | 181 +++++ docs/formatcheckpoint.html.in | 204 +++++ docs/formatsnapshot.html.in | 82 +- docs/index.html.in | 4 +- docs/schemas/domainbackup.rng | 219 ++++++ docs/schemas/domaincheckpoint.rng | 94 +++ examples/object-events/event-test.c | 3 + libvirt.spec.in | 3 + mingw-libvirt.spec.in | 6 + po/POTFILES | 1 + src/Makefile.am | 2 + src/conf/domain_conf.c | 2 +- src/conf/snapshot_conf.c | 2 +- src/conf/virdomainsnapshotobjlist.c | 166 ---- src/datatypes.c | 63 +- src/libvirt-domain-checkpoint.c | 749 +++++++++++++++++++ src/libvirt-domain-snapshot.c | 311 ++++---- src/libvirt-domain.c | 289 ++++++- src/libvirt_private.syms | 4 +- src/libvirt_public.syms | 21 + tests/Makefile.am | 4 + tests/domainbackupxml2xmlin/backup-pull.xml | 9 + tests/domainbackupxml2xmlin/backup-push.xml | 9 + tests/domainbackupxml2xmlin/empty.xml | 1 + tests/domainbackupxml2xmlout/backup-pull.xml | 9 + tests/domainbackupxml2xmlout/backup-push.xml | 9 + tests/domainbackupxml2xmlout/empty.xml | 7 + tests/domaincheckpointxml2xmlin/empty.xml | 1 + tests/domaincheckpointxml2xmlin/sample.xml | 7 + tests/domaincheckpointxml2xmlout/empty.xml | 10 + tests/domaincheckpointxml2xmlout/sample.xml | 16 + tests/virschematest.c | 4 + tools/virsh-domain.c | 8 +- 50 files changed, 2794 insertions(+), 431 deletions(-) create mode 100644 include/libvirt/libvirt-domain-checkpoint.h create mode 100644 docs/domainstatecapture.html.in create mode 100644 docs/formatbackup.html.in create mode 100644 docs/formatcheckpoint.html.in create mode 100644 docs/schemas/domainbackup.rng create mode 100644 docs/schemas/domaincheckpoint.rng create mode 100644 src/libvirt-domain-checkpoint.c create mode 100644 tests/domainbackupxml2xmlin/backup-pull.xml create mode 100644 tests/domainbackupxml2xmlin/backup-push.xml create mode 100644 tests/domainbackupxml2xmlin/empty.xml create mode 100644 tests/domainbackupxml2xmlout/backup-pull.xml create mode 100644 tests/domainbackupxml2xmlout/backup-push.xml create mode 100644 tests/domainbackupxml2xmlout/empty.xml create mode 100644 tests/domaincheckpointxml2xmlin/empty.xml create mode 100644 tests/domaincheckpointxml2xmlin/sample.xml create mode 100644 tests/domaincheckpointxml2xmlout/empty.xml create mode 100644 tests/domaincheckpointxml2xmlout/sample.xml -- 2.20.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list