CC: Daniel Erez <derez@xxxxxxxxxx> CC: Yaniv Dary <ydary@xxxxxxxxxx> CC: Allon Mureinik <amureini@xxxxxxxxxx> full thread: https://www.redhat.com/archives/libvir-list/2018-June/msg01066.html On 06/13/2018 12:42 PM, Eric Blake wrote: > I'm offline the rest of this week, but wanted to post the > progress I've made on patches towards the Incremental Backup RFC: > https://www.redhat.com/archives/libvir-list/2018-May/msg01403.html > > Comments welcome, including any naming suggestions > > Still to go: > - Add .rng file for validating the XML format used in virDomainBackupBegin() > - Add flags for validating XML > - Add src/conf/checkpoint_conf.c mirroring src/conf/snapshot_conf.c for > tracking tree of checkpoints > - Add virsh wrappers for calling everything > - Add qemu implementation - my first addition will probably just be for > push model full backups, then additional patches to expand into > pull model (on the qemu list, I still need to review and incorporate > Vladimir's patches for exporting a bitmap over NBD) > - Bug fixes (but why would there be any bugs in the first place? :) > > I've got portions of the qemu code working locally, but not polished > enough to post as a patch yet; my end goal is to have a working demo > against current qemu.git showing the use of virDomainBackupBegin() > for incremental backups with the push model prior to the code freeze > for 4.5.0 this month, even if that code doesn't get checked into > libvirt until later when the qemu code is changed to drop x- prefixes. > (That is, I'm hoping to demo that my API is sound, and thus we can > include the entrypoints in the libvirt.so for this release, even if > the libvirt code for driving pull mode over qemu waits until after a > qemu release where the pieces are promoted to a stable form.) > > Eric Blake (8): > snapshots: Avoid term 'checkpoint' for full system snapshot > backup: Document nuances between different state capture APIs > backup: Introduce virDomainCheckpointPtr > backup: Document new XML for backups > backup: Introduce virDomainCheckpoint APIs > backup: Introduce virDomainBackup APIs > backup: Add new domain:checkpoint access control > backup: Implement backup APIs for remote driver > > docs/Makefile.am | 3 + > docs/apibuild.py | 2 + > docs/docs.html.in | 9 +- > docs/domainstatecapture.html.in | 190 ++++++ > docs/formatcheckpoint.html.in | 273 +++++++++ > docs/formatsnapshot.html.in | 16 +- > docs/schemas/domaincheckpoint.rng | 89 +++ > include/libvirt/libvirt-domain-checkpoint.h | 158 +++++ > include/libvirt/libvirt-domain-snapshot.h | 10 +- > include/libvirt/libvirt-domain.h | 14 +- > include/libvirt/libvirt.h | 3 +- > include/libvirt/virterror.h | 5 +- > libvirt.spec.in | 2 + > mingw-libvirt.spec.in | 4 + > po/POTFILES | 1 + > src/Makefile.am | 2 + > src/access/viraccessperm.c | 5 +- > src/access/viraccessperm.h | 8 +- > src/conf/snapshot_conf.c | 2 +- > src/datatypes.c | 62 +- > src/datatypes.h | 31 +- > src/driver-hypervisor.h | 74 ++- > src/libvirt-domain-checkpoint.c | 908 ++++++++++++++++++++++++++++ > src/libvirt-domain-snapshot.c | 4 +- > src/libvirt-domain.c | 8 +- > src/libvirt_private.syms | 2 + > src/libvirt_public.syms | 19 + > src/qemu/qemu_driver.c | 12 +- > src/remote/remote_daemon_dispatch.c | 15 + > src/remote/remote_driver.c | 31 +- > src/remote/remote_protocol.x | 237 +++++++- > src/remote_protocol-structs | 129 ++++ > src/rpc/gendispatch.pl | 32 +- > src/util/virerror.c | 15 +- > tests/domaincheckpointxml2xmlin/empty.xml | 1 + > tests/domaincheckpointxml2xmlout/empty.xml | 10 + > tests/virschematest.c | 2 + > tools/virsh-domain.c | 3 +- > tools/virsh-snapshot.c | 2 +- > tools/virsh.pod | 14 +- > 40 files changed, 2347 insertions(+), 60 deletions(-) > create mode 100644 docs/domainstatecapture.html.in > create mode 100644 docs/formatcheckpoint.html.in > create mode 100644 docs/schemas/domaincheckpoint.rng > create mode 100644 include/libvirt/libvirt-domain-checkpoint.h > create mode 100644 src/libvirt-domain-checkpoint.c > create mode 100644 tests/domaincheckpointxml2xmlin/empty.xml > create mode 100644 tests/domaincheckpointxml2xmlout/empty.xml > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list