• A
    Asynchronous event for BlockJob completion · d489b046
    Adam Litke 提交于
    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
    d489b046
remote_protocol-structs 63.9 KB