]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commit
Asynchronous event for BlockJob completion
authorAdam Litke <agl@us.ibm.com>
Fri, 22 Jul 2011 05:57:42 +0000 (13:57 +0800)
committerDaniel Veillard <veillard@redhat.com>
Fri, 22 Jul 2011 05:57:42 +0000 (13:57 +0800)
commitd489b04628e9e0ecf5c6e2b4121dfc7a9c3b2015
treedefe42d64cda7761fdb67ee5271e73cacacabc0c
parentf50750b2d015c999884497103d709e25318c7480
Asynchronous event for BlockJob completion

When an operation started by virDomainBlockPull completes (either with
success or with failure), raise an event to indicate the final status.
This API allow users to avoid polling on virDomainGetBlockJobInfo if
they would prefer to use an 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/remote_protocol-structs: structure definitions for protocol verification
* 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
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