From ec69926313e8edae11091849f536b1f16da53ab7 Mon Sep 17 00:00:00 2001
From: Fam Zheng <famz@redhat.com>
Date: Mon, 27 Jan 2014 07:46:43 +0100
Subject: [PATCH 19/22] qapi: Add "backing" to BlockStats
RH-Author: Fam Zheng <famz@redhat.com>
Message-id: <1390808803-6464-1-git-send-email-famz@redhat.com>
Patchwork-id: 56952
O-Subject: [RHEL-7 qemu-kvm PATCH] qapi: Add "backing" to BlockStats
Bugzilla: 1041564
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1041564
Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=6949016
Currently there is no way to query BlockStats of the backing chain. This
adds "backing" field into BlockStats to make it possible.
The comment of "parent" is reworded.
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Benoit Canet <benoit@irqsave.net>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit c8059b97e1f9b4635b836ee98373a0f72f9fc0b4)
Signed-off-by: Fam Zheng <famz@redhat.com>
---
block/qapi.c | 5 +++++
qapi-schema.json | 10 ++++++----
2 files changed, 11 insertions(+), 4 deletions(-)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
block/qapi.c | 5 +++++
qapi-schema.json | 10 ++++++----
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/block/qapi.c b/block/qapi.c
index 87423fb..77e1719 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -295,6 +295,11 @@ BlockStats *bdrv_query_stats(const BlockDriverState *bs)
s->parent = bdrv_query_stats(bs->file);
}
+ if (bs->backing_hd) {
+ s->has_backing = true;
+ s->backing = bdrv_query_stats(bs->backing_hd);
+ }
+
return s;
}
diff --git a/qapi-schema.json b/qapi-schema.json
index 6158ea5..8b257e2 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -1007,15 +1007,17 @@
#
# @stats: A @BlockDeviceStats for the device.
#
-# @parent: #optional This may point to the backing block device if this is a
-# a virtual block device. If it's a backing block, this will point
-# to the backing file is one is present.
+# @parent: #optional This describes the file block device if it has one.
+#
+# @backing: #optional This describes the backing block device if it has one.
+# (Since 2.0)
#
# Since: 0.14.0
##
{ 'type': 'BlockStats',
'data': {'*device': 'str', 'stats': 'BlockDeviceStats',
- '*parent': 'BlockStats'} }
+ '*parent': 'BlockStats',
+ '*backing': 'BlockStats'} }
##
# @query-blockstats:
--
1.7.1