Patchwork [V4,2/3] block: Use bdrv_get_backing_file_depth()

login
register
mail settings
Submitter Benoit Canet
Date July 26, 2012, 11:16 a.m.
Message ID <1343301366-18028-3-git-send-email-benoit@irqsave.net>
Download mbox | patch
Permalink /patch/173404/
State New
Headers show

Comments

Benoit Canet - July 26, 2012, 11:16 a.m.
From: Benoît Canet <benoit@irqsave.net>

Use the dedicated counting function in qmp_query_block in order to
propagate the backing file depth to HMP.

Signed-off-by: Benoit Canet <benoit@irqsave.net>
---
 block.c          |    3 +++
 qapi-schema.json |    9 ++++++---
 2 files changed, 9 insertions(+), 3 deletions(-)
Eric Blake - July 26, 2012, 12:30 p.m.
On 07/26/2012 05:16 AM, benoit.canet@gmail.com wrote:
> From: Benoît Canet <benoit@irqsave.net>
> 
> Use the dedicated counting function in qmp_query_block in order to
> propagate the backing file depth to HMP.
> 
>  #
> +# @backing-file-depth: the count of ancestor's backing files (since: 1.2)
> +#

That still reads awkwardly; I had suggested completely ditching the word
'ancestor':

@backing_file_depth: number of files in the backing file chain (since: 1.2)

Also missing a counterpart patch to query-block in qmp-commands.hx to
list the new backing-file-depth field.

Patch

diff --git a/block.c b/block.c
index 22ebe49..a6fba1d 100644
--- a/block.c
+++ b/block.c
@@ -2450,6 +2450,9 @@  BlockInfoList *qmp_query_block(Error **errp)
                 info->value->inserted->backing_file = g_strdup(bs->backing_file);
             }
 
+            info->value->inserted->backing_file_depth =
+                bdrv_get_backing_file_depth(bs);
+
             if (bs->io_limits_enabled) {
                 info->value->inserted->bps =
                                bs->io_limits.bps[BLOCK_IO_LIMIT_TOTAL];
diff --git a/qapi-schema.json b/qapi-schema.json
index a92adb1..70a17fb 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -398,6 +398,8 @@ 
 #
 # @backing_file: #optional the name of the backing file (for copy-on-write)
 #
+# @backing-file-depth: the count of ancestor's backing files (since: 1.2)
+#
 # @encrypted: true if the backing device is encrypted
 #
 # @bps: total throughput limit in bytes per second is specified
@@ -418,9 +420,10 @@ 
 ##
 { 'type': 'BlockDeviceInfo',
   'data': { 'file': 'str', 'ro': 'bool', 'drv': 'str',
-            '*backing_file': 'str', 'encrypted': 'bool',
-            'bps': 'int', 'bps_rd': 'int', 'bps_wr': 'int',
-            'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int'} }
+            '*backing_file': 'str', 'backing-file-depth': 'int',
+            'encrypted': 'bool', 'bps': 'int', 'bps_rd': 'int',
+            'bps_wr': 'int', 'iops': 'int', 'iops_rd': 'int',
+            'iops_wr': 'int'} }
 
 ##
 # @BlockDeviceIoStatus: