[libvirt] [PATCH 00/16] snapshot refactoring (incremental backup saga)

Eric Blake eblake at redhat.com
Wed Mar 20 05:40:49 UTC 2019


A couple of these have seen the list before, but most of them are
new. The bulk of this series is about refactoring snapshot_conf.c into
smaller pieces that I can then reuse for implementing checkpoints,
without having to open-code the hierarchy algorithms a second time
(one of John's complaints against my v4 incremental backup series).

I suspect that src/vz/ builds may break on one or more of these
patches; I could not get a working vz build environment.

Eric Blake (16):
  test: Avoid use-after-free on virDomainSnapshotDelete
  snapshot: Use accessors for virDomainSnapshot members
  snapshot: Create virDomainMoment base class
  vbox: Clean up some snapshot usage
  snapshot: Drop virDomainSnapshotDef.current
  snapshot: Track current snapshot in virDomainSnapshotObjList
  snapshot: Add accessors for updating snapshot list relations
  snapshot: Access snapshot def directly when needed
  snapshot: Refactor list filtering
  snapshot: Factor out virDomainMomentDef class
  snapshot: Switch type of virDomainSnapshotObj.def
  snapshot: Rename virDomainSnapshotObjPtr
  snapshot: Rename file for virDomainMomentObj
  snapshot: Move snapshot list code into generic file
  snapshot: Tweaks to support new bulk dumpxml/import API
  backup: Introduce virDomainCheckpointPtr

 include/libvirt/virterror.h         |   6 +-
 src/util/virerror.c                 |  12 +-
 include/libvirt/libvirt.h           |   6 +-
 src/conf/domain_conf.h              |   1 -
 src/conf/moment_conf.h              |  41 +++
 src/conf/snapshot_conf.h            |  23 +-
 src/conf/virconftypes.h             |  12 +-
 src/conf/virdomainmomentobjlist.h   |  95 +++++
 src/conf/virdomainsnapshotobj.h     |  50 ---
 src/conf/virdomainsnapshotobjlist.h |  33 +-
 src/datatypes.h                     |  83 ++++-
 src/qemu/qemu_command.h             |   2 +-
 src/qemu/qemu_domain.h              |   6 +-
 src/qemu/qemu_process.h             |   4 +-
 src/conf/Makefile.inc.am            |   6 +-
 src/conf/moment_conf.c              |  40 +++
 src/conf/snapshot_conf.c            | 179 +++++-----
 src/conf/virdomainmomentobjlist.c   | 521 ++++++++++++++++++++++++++++
 src/conf/virdomainsnapshotobj.c     | 123 -------
 src/conf/virdomainsnapshotobjlist.c | 367 +++++++-------------
 src/datatypes.c                     | 132 ++++---
 src/esx/esx_driver.c                |  82 ++---
 src/libvirt-domain-snapshot.c       |  26 +-
 src/libvirt_private.syms            |  21 +-
 src/qemu/qemu_command.c             |   2 +-
 src/qemu/qemu_domain.c              |  36 +-
 src/qemu/qemu_driver.c              | 290 ++++++++--------
 src/qemu/qemu_process.c             |   4 +-
 src/remote/remote_daemon_dispatch.c |   4 +-
 src/remote/remote_driver.c          |   4 +-
 src/rpc/gendispatch.pl              |   2 +-
 src/test/test_driver.c              | 174 ++++------
 src/vbox/vbox_common.c              | 207 +++++------
 src/vz/vz_driver.c                  |  89 ++---
 src/vz/vz_sdk.c                     |   4 +-
 tests/domainsnapshotxml2xmltest.c   |   5 +-
 36 files changed, 1613 insertions(+), 1079 deletions(-)
 create mode 100644 src/conf/moment_conf.h
 create mode 100644 src/conf/virdomainmomentobjlist.h
 delete mode 100644 src/conf/virdomainsnapshotobj.h
 create mode 100644 src/conf/moment_conf.c
 create mode 100644 src/conf/virdomainmomentobjlist.c
 delete mode 100644 src/conf/virdomainsnapshotobj.c

-- 
2.20.1




More information about the libvir-list mailing list