qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/5] QMP: BLOCK_IO_ERROR event handling


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 1/5] QMP: BLOCK_IO_ERROR event handling
Date: Wed, 10 Feb 2010 12:32:47 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0

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<address@hidden>

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;






reply via email to

[Prev in Thread] Current Thread [Next in Thread]