v4 was here: https://www.redhat.com/archives/libvir-list/2014-June/msg01095.html Since then: I _finally_ implemented persistent domain updates to match live changes, by reimplementing how <mirror> is tracked in XML to be more robust to libvirtd restarts. In particular, it fixes a bug in v4 that Adam Litke pointed out where a pivot commit would emit a ready event for 'active commit' but then a completed event for plain 'commit'. Patches 1 and 2 are completely local to blockcopy, and fix a long-standing bug where it is not robust to libvirtd restarts (similar to the bug fixed in 60e4944). They are pre-requisite to turning on active commit. Patches 3 and 4 are borderline on whether it is a new feature or a bug fix. But consider that commit 47549d5 turned on qemu feature probing with the intent of getting this in 1.2.7, and we already missed getting active commit into 1.2.6. As it is, patch 4 is very similar to the already-acked counterpart of v4. Therefore, even though I missed rc1, I'm arguing that this whole series should be included in rc2 in time for 1.2.7. Not done yet, but that I'd also like to have in the release if I can swing it: the new virConnectGetDomainCapabilities API needs to expose features on whether active commit will work. Also, I'd like to fix libvirtd restarts to inspect all existing <mirror> tags and see if the job completed while libvirtd was offline (that is, when we miss an event, we should still start up in the correct state when reconnecting to qemu). Eric Blake (4): blockcopy: add more XML for state tracking blockjob: properly track blockcopy xml changes on disk blockcommit: track job type in xml blockcommit: turn on active commit docs/formatdomain.html.in | 23 ++- docs/schemas/domaincommon.rng | 19 ++- src/conf/domain_conf.c | 56 ++++++- src/conf/domain_conf.h | 14 +- src/qemu/qemu_driver.c | 167 ++++++++++++++------- src/qemu/qemu_process.c | 92 ++++++++++-- .../qemuxml2argv-disk-active-commit.xml | 37 +++++ .../qemuxml2argvdata/qemuxml2argv-disk-mirror.xml | 8 +- .../qemuxml2xmlout-disk-mirror-old.xml | 4 +- tests/qemuxml2xmltest.c | 1 + 10 files changed, 336 insertions(+), 85 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-active-commit.xml -- 1.9.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list