[libvirt] [PATCH v2 00/10] active commit to backing file

Eric Blake eblake at redhat.com
Thu Jun 5 22:52:27 UTC 2014


This enables active commit (collapsing a temporary qcow2 wrapper
file back into the permanent backing file), when the destination
is a regular file or block device.  Further plans for this work
before 1.2.6 is released: figure out how to add a qemu capability
probe (qemu 2.0 supports active commit but did a lousy job of
advertising it, and I found a corner case bug in it that won't be
fixed until 2.1), and integrate with Peter's work to allow active
commit into a network backing file.

Earlier posts related to this series:
https://www.redhat.com/archives/libvir-list/2014-May/msg00564.html
https://www.redhat.com/archives/libvir-list/2014-May/msg00723.html

There are definitely some merge conflicts to still work out (both
Peter and I are adding a new flag to virDomainBlockCommit, so it
is touching some of the same code).  I can rebase again on top of
Peter's pending patches, if needed.  I also think the switch from
nested struct to pointer for a disk definition's source will make
it easier for Benoit's desire to implement quorums.

Eric Blake (10):
  conf: store snapshot source as pointer, for easier manipulation
  conf: consolidate disk def allocation
  conf: store disk source as pointer, for easier manipulation
  conf: store mirroring information in virStorageSource
  conf: alter disk mirror xml output
  blockcommit: document semantics of committing active layer
  virsh: expose new active commit controls
  blockcommit: update error messages related to block jobs
  blockcommit: track job type in xml
  blockcommit: turn on active commit

 docs/formatdomain.html.in                          |  25 +-
 docs/schemas/domaincommon.rng                      |  35 +-
 include/libvirt/libvirt.h.in                       |  12 +-
 src/conf/domain_conf.c                             | 275 ++++++++-----
 src/conf/domain_conf.h                             |   7 +-
 src/conf/snapshot_conf.c                           |  56 +--
 src/conf/snapshot_conf.h                           |   2 +-
 src/libvirt.c                                      |  55 ++-
 src/libvirt_private.syms                           |   1 +
 src/lxc/lxc_controller.c                           |   8 +-
 src/lxc/lxc_driver.c                               |   8 +-
 src/parallels/parallels_driver.c                   |   2 +-
 src/qemu/qemu_command.c                            | 290 ++++++-------
 src/qemu/qemu_conf.c                               |  88 ++--
 src/qemu/qemu_domain.c                             |  22 +-
 src/qemu/qemu_driver.c                             | 451 ++++++++++++---------
 src/qemu/qemu_hotplug.c                            |   2 +-
 src/qemu/qemu_migration.c                          |   4 +-
 src/qemu/qemu_process.c                            |  39 +-
 src/security/security_selinux.c                    |   4 +-
 src/vbox/vbox_tmpl.c                               |   6 +-
 src/vmx/vmx.c                                      |   2 +-
 src/xenxs/xen_sxpr.c                               |   8 +-
 src/xenxs/xen_xm.c                                 |   4 +-
 .../qemuxml2argv-disk-active-commit.xml            |  37 ++
 .../qemuxml2argv-disk-mirror-old.xml               |  47 +++
 .../qemuxml2argvdata/qemuxml2argv-disk-mirror.xml  |   9 +-
 .../qemuxml2xmlout-disk-mirror-old-inactive.xml    |  41 ++
 .../qemuxml2xmlout-disk-mirror-old.xml             |  52 +++
 tests/qemuxml2xmltest.c                            |   2 +
 tests/securityselinuxlabeltest.c                   |   6 +-
 tools/virsh-domain.c                               |  57 ++-
 tools/virsh.pod                                    |  27 +-
 33 files changed, 1072 insertions(+), 612 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-active-commit.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-mirror-old.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old-inactive.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old.xml

-- 
1.9.3




More information about the libvir-list mailing list