summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2010-03-18 19:37:44 +0000
committerDaniel P. Berrange <berrange@redhat.com>2010-03-26 13:53:11 +0000
commitd4730d3a2776200adf24e3ed86dfca435deffb81 (patch)
tree0aa0ef4b2e0769a7951d5aac3f4436a676fd51a5
parent3f1e01ca28674a9e2421cc8ede2feecfce72b27f (diff)
downloadlibvirt-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-xgenerator.py1
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",
}