[libvirt] [PATCH 0/8] Work-in-progress: Incremental Backup API additions
John Snow
jsnow at redhat.com
Tue Jun 19 13:51:34 UTC 2018
CC: Daniel Erez <derez at redhat.com>
CC: Yaniv Dary <ydary at redhat.com>
CC: Allon Mureinik <amureini at redhat.com>
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
>
More information about the libvir-list
mailing list