This is in response to my discussion with Paolo here: https://www.redhat.com/archives/libvir-list/2012-March/msg01171.html It also picks up an old patch from Adam here (now split into two): https://www.redhat.com/archives/libvir-list/2012-January/msg00562.html Patches 1-12 are in pretty good shape, while patch 13 is still a work in progress. I can test a lot of the pieces, but still have several patches to go before I can fully test the new API. I'm posting this now to at least start some review on the earlier pieces, and to get consensus that the API and XML changes are correct. None of these patches should be applied until after 0.9.11 is released, and even then, we still want confirmation of whether upstream qemu 1.1 will include complete support for block mirroring. For anyone trying to backport this feature to 0.9.10 .so API, I've made sure that you can just omit patches 5 and 6, and that everything else will backport cleanly to give you the new feature through just the public virDomainBlockRebase() call. Adam Litke (2): blockjob: add API for async virDomainBlockJobAbort blockjob: wire up qemu async virDomainBlockJobAbort Eric Blake (11): blockjob: add new API flags blockjob: add 'blockcopy' to virsh blockjob: add virDomainBlockCopy blockjob: enhance virsh 'blockcopy' blockjob: wire up RPC for block copy blockjob: enhance xml to track mirrors across libvirtd restart blockjob: react to active block copy blockjob: expose qemu commands for mirrored storage migration blockjob: query backing file of a disk blockjob: return appropriate event and info WIP: blockjob: implement block copy for qemu docs/apibuild.py | 1 + docs/formatdomain.html.in | 11 ++ docs/schemas/domaincommon.rng | 19 +++- include/libvirt/libvirt.h.in | 50 +++++++++- include/libvirt/virterror.h | 1 + src/conf/domain_conf.c | 77 +++++++++++++++ src/conf/domain_conf.h | 14 +++ src/driver.h | 6 + src/libvirt.c | 216 +++++++++++++++++++++++++++++++++++++++-- src/libvirt_private.syms | 1 + src/libvirt_public.syms | 5 + src/qemu/qemu_capabilities.c | 3 + src/qemu/qemu_capabilities.h | 2 + src/qemu/qemu_conf.h | 1 + src/qemu/qemu_driver.c | 211 ++++++++++++++++++++++++++++++++++++++-- src/qemu/qemu_hotplug.c | 7 ++ src/qemu/qemu_monitor.c | 60 +++++++++++- src/qemu/qemu_monitor.h | 23 +++++ src/qemu/qemu_monitor_json.c | 128 ++++++++++++++++++++++-- src/qemu/qemu_monitor_json.h | 21 ++++- src/qemu/qemu_process.c | 19 ++++ src/remote/remote_driver.c | 1 + src/remote/remote_protocol.x | 13 +++- src/remote_protocol-structs | 10 ++ src/rpc/gendispatch.pl | 1 + src/util/virterror.c | 6 + tools/virsh.c | 135 ++++++++++++++++++++----- tools/virsh.pod | 33 ++++++- 28 files changed, 1007 insertions(+), 68 deletions(-) -- 1.7.7.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list