Message ID | 1265208064-16039-2-git-send-email-lcapitulino@redhat.com |
---|---|
State | New |
Headers | show |
On 02/03/2010 08:41 AM, Luiz Capitulino wrote: > This commit adds the basic definitions for the BLOCK_IO_ERROR > event, but actual event emission will be introduced by the > next commits. > > Signed-off-by: Luiz Capitulino<lcapitulino@redhat.com> > Applied all. Thanks. Regards, Anthony Liguori > --- > QMP/qmp-events.txt | 21 +++++++++++++++++++++ > monitor.c | 3 +++ > monitor.h | 1 + > 3 files changed, 25 insertions(+), 0 deletions(-) > > diff --git a/QMP/qmp-events.txt b/QMP/qmp-events.txt > index dc48ccc..d585a8d 100644 > --- a/QMP/qmp-events.txt > +++ b/QMP/qmp-events.txt > @@ -43,3 +43,24 @@ Data: 'server' and 'client' keys with the same keys as 'query-vnc'. > > Description: Issued when the VNC session is made active. > Data: 'server' and 'client' keys with the same keys as 'query-vnc'. > + > +7 BLOCK_IO_ERROR > +---------------- > + > +Description: Issued when a disk I/O error occurs > +Data: > + > +- 'device': device name (json-string) > +- 'operation': I/O operation (json-string, "read" or "write") > +- 'action': action that has been taken, it's one of the following: > + "ignore": error has been ignored > + "report": error has been reported to the device > + "stop": error caused VM to be stopped > + > +Example: > + > +{ "event": "BLOCK_IO_ERROR", > + "data": { "device": "ide0-hd1", > + "operation": "write", > + "action": "stop" }, > + "timestamp": { "seconds": 1265044230, "microseconds": 450486 } } > diff --git a/monitor.c b/monitor.c > index fb7c572..6e688ac 100644 > --- a/monitor.c > +++ b/monitor.c > @@ -378,6 +378,9 @@ void monitor_protocol_event(MonitorEvent event, QObject *data) > case QEVENT_VNC_DISCONNECTED: > event_name = "VNC_DISCONNECTED"; > break; > + case QEVENT_BLOCK_IO_ERROR: > + event_name = "BLOCK_IO_ERROR"; > + break; > default: > abort(); > break; > diff --git a/monitor.h b/monitor.h > index b0f9270..e35f1e4 100644 > --- a/monitor.h > +++ b/monitor.h > @@ -23,6 +23,7 @@ typedef enum MonitorEvent { > QEVENT_VNC_CONNECTED, > QEVENT_VNC_INITIALIZED, > QEVENT_VNC_DISCONNECTED, > + QEVENT_BLOCK_IO_ERROR, > QEVENT_MAX, > } MonitorEvent; > >
diff --git a/QMP/qmp-events.txt b/QMP/qmp-events.txt index dc48ccc..d585a8d 100644 --- a/QMP/qmp-events.txt +++ b/QMP/qmp-events.txt @@ -43,3 +43,24 @@ Data: 'server' and 'client' keys with the same keys as 'query-vnc'. Description: Issued when the VNC session is made active. Data: 'server' and 'client' keys with the same keys as 'query-vnc'. + +7 BLOCK_IO_ERROR +---------------- + +Description: Issued when a disk I/O error occurs +Data: + +- 'device': device name (json-string) +- 'operation': I/O operation (json-string, "read" or "write") +- 'action': action that has been taken, it's one of the following: + "ignore": error has been ignored + "report": error has been reported to the device + "stop": error caused VM to be stopped + +Example: + +{ "event": "BLOCK_IO_ERROR", + "data": { "device": "ide0-hd1", + "operation": "write", + "action": "stop" }, + "timestamp": { "seconds": 1265044230, "microseconds": 450486 } } diff --git a/monitor.c b/monitor.c index fb7c572..6e688ac 100644 --- a/monitor.c +++ b/monitor.c @@ -378,6 +378,9 @@ void monitor_protocol_event(MonitorEvent event, QObject *data) case QEVENT_VNC_DISCONNECTED: event_name = "VNC_DISCONNECTED"; break; + case QEVENT_BLOCK_IO_ERROR: + event_name = "BLOCK_IO_ERROR"; + break; default: abort(); break; diff --git a/monitor.h b/monitor.h index b0f9270..e35f1e4 100644 --- a/monitor.h +++ b/monitor.h @@ -23,6 +23,7 @@ typedef enum MonitorEvent { QEVENT_VNC_CONNECTED, QEVENT_VNC_INITIALIZED, QEVENT_VNC_DISCONNECTED, + QEVENT_BLOCK_IO_ERROR, QEVENT_MAX, } MonitorEvent;
This commit adds the basic definitions for the BLOCK_IO_ERROR event, but actual event emission will be introduced by the next commits. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> --- QMP/qmp-events.txt | 21 +++++++++++++++++++++ monitor.c | 3 +++ monitor.h | 1 + 3 files changed, 25 insertions(+), 0 deletions(-)