Still in RFC stage because I need more work on qemu to turn on auto-node-naming, then corresponding work in libvirt to do node name lookups for both setting the threshold and for mapping events back to the right device name. But with this series in place and a simple hack to qemu to allow threshold settings on the active layer of a device (wrong node), I was able to do round trip threshold modifications (set a number, and read it back correctly) and rudimentary threshold event testing (I set such a low threshold that pretty much any guest write was enough to fire the event, although the corresponding length past the offset was unpredictable and had no bearing on whether the host allocation had actually changed as a result of the guest write).
Posting now, since most of these patches will be fairly similar to their final form; only those touching src/qemu/ will need changes, once I get the counterpart qemu patches for auto-node-naming working and integrated. Eric Blake (8): threshold: new API virDomainBlockSetWriteThreshold threshold: expose new API in virsh threshold: new event object for tracking write threshold threshold: wire up threshold event in RPC threshold: add qemu capability bit threshold: add threshold event handling in qemu threshold: scrape threshold data from QMP threshold: add write threshold setting in qemu daemon/remote.c | 39 +++++++++++++++ include/libvirt/libvirt-domain.h | 47 ++++++++++++++++++ src/conf/domain_event.c | 93 +++++++++++++++++++++++++++++++++- src/conf/domain_event.h | 14 +++++- src/driver-hypervisor.h | 7 +++ src/libvirt-domain.c | 95 +++++++++++++++++++++++++++++++++++ src/libvirt_private.syms | 2 + src/libvirt_public.syms | 5 ++ src/qemu/qemu_capabilities.c | 4 +- src/qemu/qemu_capabilities.h | 3 +- src/qemu/qemu_driver.c | 104 +++++++++++++++++++++++++++++++++++++++ src/qemu/qemu_monitor.c | 27 ++++++++++ src/qemu/qemu_monitor.h | 17 +++++++ src/qemu/qemu_monitor_json.c | 79 +++++++++++++++++++++++++++++ src/qemu/qemu_monitor_json.h | 3 ++ src/qemu/qemu_process.c | 34 +++++++++++++ src/remote/remote_driver.c | 34 +++++++++++++ src/remote/remote_protocol.x | 29 ++++++++++- src/remote_protocol-structs | 15 ++++++ tests/qemumonitortest.c | 13 ++--- tools/virsh-domain-monitor.c | 81 ++++++++++++++++++++++++++++++ tools/virsh-domain.c | 23 +++++++++ tools/virsh.pod | 25 ++++++++++ 23 files changed, 782 insertions(+), 11 deletions(-) -- 2.4.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list