libvirt/daemon
Daniel P. Berrange 34dcbbb470 Add support for another explicit IO error event
This introduces a new event type

   VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON

This event is the same as the previous VIR_DOMAIN_ID_IO_ERROR
event, but also includes a string describing the cause of
the event.

Thus there is a new callback definition for this event type

typedef void (*virConnectDomainEventIOErrorReasonCallback)(virConnectPtr conn,
                                                           virDomainPtr dom,
                                                           const char *srcPath,
                                                           const char *devAlias,
                                                           int action,
                                                           const char *reason,
                                                           void *opaque);

This is currently wired up to the QEMU block IO error events

* daemon/remote.c: Dispatch IO error events to client
* examples/domain-events/events-c/event-test.c: Watch for
  IO error events
* include/libvirt/libvirt.h.in: Define new IO error event ID
  and callback signature
* src/conf/domain_event.c, src/conf/domain_event.h,
  src/libvirt_private.syms: Extend API to handle IO error events
* src/qemu/qemu_driver.c: Connect to the QEMU monitor event
  for block IO errors and emit a libvirt IO error event
* src/remote/remote_driver.c: Receive and dispatch IO error
  events to application
* src/remote/remote_protocol.x: Wire protocol definition for
  IO error events
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
  src/qemu/qemu_monitor_json.c: Watch for BLOCK_IO_ERROR event
  from QEMU monitor
2010-04-30 15:52:59 +01:00
..
.gitignore .gitignore: Ignore generated daemon/libvirtd.logrotate 2010-03-17 12:27:41 -04:00
Makefile.am Keep build quiet for generated file 2010-04-01 12:35:51 +01:00
THREADING.txt Move libvirtd event loop into background thread 2009-11-03 14:45:43 -05:00
dispatch.c Fix messsage -> message. 2010-04-13 15:39:39 -04:00
dispatch.h Remote driver & daemon impl of new event API 2010-03-26 13:52:29 +00:00
event.c util: ensure safe{read,write,zero} return is checked 2010-04-15 11:40:08 -06:00
event.h build: consistently indent preprocessor directives 2010-03-09 19:22:28 +01:00
libvirtd.aug Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.c Make avahi startup more robust. 2010-04-21 16:16:36 -04:00
libvirtd.conf Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.h Remote driver & daemon impl of new event API 2010-03-26 13:52:29 +00:00
libvirtd.init.in maint: enforce whitespace on shell scripts 2010-04-22 09:06:30 -06:00
libvirtd.lxc.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.policy-0 Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.policy-1 Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.qemu.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.sasl Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.sysconf Allow control over QEMU audio backend 2009-09-29 15:53:10 +01:00
libvirtd.uml.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
mdns.c Rename daemon main code 2009-09-21 14:41:45 +01:00
mdns.h build: consistently indent preprocessor directives 2010-03-09 19:22:28 +01:00
remote.c Add support for another explicit IO error event 2010-04-30 15:52:59 +01:00
remote.h build: consistently indent preprocessor directives 2010-03-09 19:22:28 +01:00
remote_dispatch_args.h Remote protocol impl for virDomainGetBlockInfo 2010-04-29 17:20:24 +01:00
remote_dispatch_prototypes.h Remote protocol impl for virDomainGetBlockInfo 2010-04-29 17:20:24 +01:00
remote_dispatch_ret.h Remote protocol impl for virDomainGetBlockInfo 2010-04-29 17:20:24 +01:00
remote_dispatch_table.h Add support for another explicit IO error event 2010-04-30 15:52:59 +01:00
remote_generate_stubs.pl Pass remote_message_header to the dispatch functions. 2009-09-30 14:05:57 +02:00
stream.c Let remoteClientStream only do RX if requested. 2009-09-30 14:05:41 +02:00
stream.h build: consistently indent preprocessor directives 2010-03-09 19:22:28 +01:00
test_libvirtd.aug Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00