qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 3/3] block: add 'node-name' field to BLOCK_IMAGE


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH 3/3] block: add 'node-name' field to BLOCK_IMAGE_CORRUPTED
Date: Fri, 20 Mar 2015 09:24:28 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0

On 2015-03-20 at 06:19, Alberto Garcia wrote:
Since this event can occur in nodes that cannot have a device name
associated, include also a field with the node name.

Signed-off-by: Alberto Garcia <address@hidden>
---
  block/qcow2.c           |  8 ++++++--
  docs/qmp/qmp-events.txt | 16 +++++++++-------
  qapi/block-core.json    | 13 ++++++++-----
  3 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/block/qcow2.c b/block/qcow2.c
index 168006b..e7c78f1 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -2809,6 +2809,7 @@ void qcow2_signal_corruption(BlockDriverState *bs, bool 
fatal, int64_t offset,
                               int64_t size, const char *message_format, ...)
  {
      BDRVQcowState *s = bs->opaque;
+    const char *node_name;
      char *message;
      va_list ap;
@@ -2832,8 +2833,11 @@ void qcow2_signal_corruption(BlockDriverState *bs, bool fatal, int64_t offset,
                  "corruption events will be suppressed\n", message);
      }
- qapi_event_send_block_image_corrupted(bdrv_get_device_name(bs), message,
-                                          offset >= 0, offset, size >= 0, size,
+    node_name = bdrv_get_node_name(bs);
+    qapi_event_send_block_image_corrupted(bdrv_get_device_name(bs),
+                                          *node_name != '\0', node_name,
+                                          message, offset >= 0, offset,
+                                          size >= 0, size,
                                            fatal, &error_abort);
      g_free(message);
diff --git a/docs/qmp/qmp-events.txt b/docs/qmp/qmp-events.txt
index d759d19..ed1d0a5 100644
--- a/docs/qmp/qmp-events.txt
+++ b/docs/qmp/qmp-events.txt
@@ -35,17 +35,19 @@ Emitted when a disk image is being marked corrupt.
Data: -- "device": Device name (json-string)
-- "msg":    Informative message (e.g., reason for the corruption) (json-string)
-- "offset": If the corruption resulted from an image access, this is the access
-            offset into the image (json-int)
-- "size":   If the corruption resulted from an image access, this is the access
-            size (json-int)
+- "device":    Device name (json-string)
+- "node-name": Node name, if it's present (json-string)
+- "msg":       Informative message (e.g., reason for the corruption)
+               (json-string)
+- "offset":    If the corruption resulted from an image access, this
+               is the access offset into the image (json-int)
+- "size":      If the corruption resulted from an image access, this
+               is the access size (json-int)
Example: { "event": "BLOCK_IMAGE_CORRUPTED",
-    "data": { "device": "ide0-hd0",
+    "data": { "device": "ide0-hd0", "node-name": "node0",
          "msg": "Prevented active L1 table overwrite", "offset": 196608,
          "size": 65536 },
      "timestamp": { "seconds": 1378126126, "microseconds": 966463 } }
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 42c8850..e650168 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -1753,6 +1753,8 @@
  #
  # @device: device name
  #
+# @node-name: #optional node name (Since: 2.3)

*2.4

With that fixed:

Reviewed-by: Max Reitz <address@hidden>

+#
  # @msg: informative message for human consumption, such as the kind of
  #       corruption being detected. It should not be parsed by machine as it is
  #       not guaranteed to be stable
@@ -1770,11 +1772,12 @@
  # Since: 1.7
  ##
  { 'event': 'BLOCK_IMAGE_CORRUPTED',
-  'data': { 'device' : 'str',
-            'msg'    : 'str',
-            '*offset': 'int',
-            '*size'  : 'int',
-            'fatal'  : 'bool' } }
+  'data': { 'device'     : 'str',
+            '*node-name' : 'str',
+            'msg'        : 'str',
+            '*offset'    : 'int',
+            '*size'      : 'int',
+            'fatal'      : 'bool' } }
##
  # @BLOCK_IO_ERROR




reply via email to

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