[libvirt] [PATCH 0/8] Work-in-progress: Incremental Backup API additions

Eric Blake posted 8 patches 18 weeks ago
Failed in applying to current master (apply log)
Test syntax-check failed
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

[libvirt] [PATCH 0/8] Work-in-progress: Incremental Backup API additions

Posted by Eric Blake 18 weeks ago
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

-- 
2.14.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH 0/8] Work-in-progress: Incremental Backup API additions

Posted by John Snow 17 weeks ago
CC: Daniel Erez <derez@redhat.com>
CC: Yaniv Dary <ydary@redhat.com>
CC: Allon Mureinik <amureini@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
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list