]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commit
Asynchronous event for BlockPull completion
authorAdam Litke <agl@us.ibm.com>
Tue, 14 Jun 2011 14:36:53 +0000 (09:36 -0500)
committerEric Blake <eblake@redhat.com>
Wed, 15 Jun 2011 04:48:42 +0000 (22:48 -0600)
commit12cd77a0c58a80179182f7d09e8e73f9f66b4677
tree1f500f4fa624aaf2e649737722163d6fa71acad1
parentd74b86f5d6ecae3d18a391f90a918fcac75914db
Asynchronous event for BlockPull completion

When an operation started by virDomainBlockPullAll completes (either with
success or with failure), raise an event to indicate the final status.  This
allows an API user to avoid polling on virDomainBlockPullInfo if they would
prefer to use the event mechanism.

* daemon/remote.c: Dispatch events to client
* include/libvirt/libvirt.h.in: Define event ID and callback signature
* src/conf/domain_event.c, src/conf/domain_event.h,
  src/libvirt_private.syms: Extend API to handle the new event
* src/qemu/qemu_driver.c: Connect to the QEMU monitor event
  for block_stream completion and emit a libvirt block pull event
* src/remote/remote_driver.c: Receive and dispatch events to application
* src/remote/remote_protocol.x: Wire protocol definition for the event
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
  src/qemu/qemu_monitor_json.c: Watch for BLOCK_STREAM_COMPLETED event
  from QEMU monitor

Signed-off-by: Adam Litke <agl@us.ibm.com>
14 files changed:
daemon/remote.c
include/libvirt/libvirt.h.in
python/libvirt-override-virConnect.py
python/libvirt-override.c
src/conf/domain_event.c
src/conf/domain_event.h
src/libvirt_private.syms
src/qemu/qemu_monitor.c
src/qemu/qemu_monitor.h
src/qemu/qemu_monitor_json.c
src/qemu/qemu_process.c
src/remote/remote_driver.c
src/remote/remote_protocol.x
src/remote_protocol-structs