[libvirt] [PATCHv2 0/7] arbitrary qemu monitor events

Eric Blake eblake at redhat.com
Wed Mar 12 15:20:00 UTC 2014


v1 was here:
https://www.redhat.com/archives/libvir-list/2014-February/msg00000.html

Many of the patches in the series were acked back then, but the
'virsh' changes were made conditional on getting 'virsh event'
working first, so it missed the last release.  Changes in v2:
rebase to master, s/1.2.2/1.2.3/, simplify virsh patch (2/7) to
use framework for event tracking.

Also, the python bindings need review (no change to v1):
https://www.redhat.com/archives/libvir-list/2014-February/msg00197.html

Note that Dan was hesitant about patches 6 and 7 in v1, but if
we don't take those patches, then the API is over-engineered.
Either we are willing to support filtering on specific event
names and patterns, or I should respin a v3 of this series that
simplifies the API in patch 1 to not expose that possibility.
Personally, I think the ability to expose all 'spice_*' related
events at once, without being drowned by other events, is worth
the complexity of server-side filtering.  I also note that the
bulk of the complexity was isolated to the qemu-specific code
with no noticeable impact to the normal event code (the changes
to domain_event.c are primarily additions, and the changes to
object_event.c are merely tweaks to allow qemu filtering to be
server-side only in comparison to normal events that can do
some of the filtering client side).

Eric Blake (7):
  qemu: new API for tracking arbitrary monitor events
  qemu: virsh wrapper for qemu events
  qemu: create object for qemu monitor events
  qemu: wire up RPC for qemu monitor events
  qemu: enable monitor event reporting
  qemu: enable monitor event filtering by name
  qemu: allow filtering events by regex

 daemon/libvirtd.h              |   2 +
 daemon/remote.c                | 209 ++++++++++++++++++++++++++++++++++++
 include/libvirt/libvirt-qemu.h |  46 +++++++-
 src/conf/domain_event.c        | 234 +++++++++++++++++++++++++++++++++++++++++
 src/conf/domain_event.h        |  23 ++++
 src/conf/object_event.c        |  40 ++++---
 src/driver.h                   |  15 +++
 src/libvirt-qemu.c             | 124 ++++++++++++++++++++++
 src/libvirt_private.syms       |   2 +
 src/libvirt_qemu.syms          |   6 ++
 src/qemu/qemu_driver.c         |  51 +++++++++
 src/qemu/qemu_monitor.c        |  14 +++
 src/qemu/qemu_monitor.h        |  13 ++-
 src/qemu/qemu_monitor_json.c   |  21 +++-
 src/qemu/qemu_process.c        |  29 +++++
 src/qemu_protocol-structs      |  22 ++++
 src/remote/qemu_protocol.x     |  50 ++++++++-
 src/remote/remote_driver.c     | 143 ++++++++++++++++++++++++-
 src/rpc/gendispatch.pl         |  13 +--
 tools/virsh-domain.c           | 148 ++++++++++++++++++++++++++
 tools/virsh.pod                |  30 +++++-
 21 files changed, 1203 insertions(+), 32 deletions(-)

-- 
1.8.5.3




More information about the libvir-list mailing list