diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2010-03-18 19:37:44 +0000 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2010-03-26 13:53:11 +0000 |
commit | d4730d3a2776200adf24e3ed86dfca435deffb81 (patch) | |
tree | 0aa0ef4b2e0769a7951d5aac3f4436a676fd51a5 | |
parent | 3f1e01ca28674a9e2421cc8ede2feecfce72b27f (diff) | |
download | libvirt-python-d4730d3a2776200adf24e3ed86dfca435deffb81.tar.gz |
Add support for an explicit IO error event
This introduces a new event type
VIR_DOMAIN_EVENT_ID_IO_ERROR
This event includes the action that is about to be taken
as a result of the watchdog triggering
typedef enum {
VIR_DOMAIN_EVENT_IO_ERROR_NONE = 0,
VIR_DOMAIN_EVENT_IO_ERROR_PAUSE,
VIR_DOMAIN_EVENT_IO_ERROR_REPORT,
} virDomainEventIOErrorAction;
In addition it has the source path of the disk that had the
error and its unique device alias. It does not include the
target device name (/dev/sda), since this would preclude
triggering IO errors from other file backed devices (eg
serial ports connected to a file)
Thus there is a new callback definition for this event type
typedef void (*virConnectDomainEventIOErrorCallback)(virConnectPtr conn,
virDomainPtr dom,
const char *srcPath,
const char *devAlias,
int action,
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
-rwxr-xr-x | generator.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/generator.py b/generator.py index 9588446..73a8b2b 100755 --- a/generator.py +++ b/generator.py @@ -172,6 +172,7 @@ skipped_types = { 'virConnectDomainEventGenericCallback': "No function types in python", 'virConnectDomainEventRTCChangeCallback': "No function types in python", 'virConnectDomainEventWatchdogCallback': "No function types in python", + 'virConnectDomainEventIOErrorCallback': "No function types in python", 'virEventAddHandleFunc': "No function types in python", } |