[libvirt] [RFC PATCHv2 0/8] new API virDomainBlockSetWriteThreshold

Eric Blake eblake at redhat.com
Fri Jun 12 19:29:24 UTC 2015


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




More information about the libvir-list mailing list