aboutsummaryrefslogtreecommitdiff
path: root/qapi/block-core.json
diff options
context:
space:
mode:
authorHanna Reitz <hreitz@redhat.com>2022-06-20 18:26:59 +0200
committerKevin Wolf <kwolf@redhat.com>2023-02-01 16:52:33 +0100
commit6cab33997b91eb86e82a6a2ae58a24f835249d4a (patch)
tree4c02b36095dbcc771a7d28ef6c986eecc901be68 /qapi/block-core.json
parent5d8813593f3f673fc96eed199beb35690cc46f58 (diff)
downloadqemu-6cab33997b91eb86e82a6a2ae58a24f835249d4a.zip
qemu-6cab33997b91eb86e82a6a2ae58a24f835249d4a.tar.gz
qemu-6cab33997b91eb86e82a6a2ae58a24f835249d4a.tar.bz2
block/qapi: Introduce BlockGraphInfo
Introduce a new QAPI type BlockGraphInfo and an associated bdrv_query_block_graph_info() function that recursively gathers BlockNodeInfo objects through a block graph. A follow-up patch is going to make "qemu-img info" use this to print information about all nodes that are (usually implicitly) opened for a given image file. Signed-off-by: Hanna Reitz <hreitz@redhat.com> Message-Id: <20220620162704.80987-8-hreitz@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qapi/block-core.json')
-rw-r--r--qapi/block-core.json35
1 files changed, 35 insertions, 0 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 4cf2dee..d703e0f 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -308,6 +308,41 @@
} }
##
+# @BlockChildInfo:
+#
+# Information about all nodes in the block graph starting at some node,
+# annotated with information about that node in relation to its parent.
+#
+# @name: Child name of the root node in the BlockGraphInfo struct, in its role
+# as the child of some undescribed parent node
+#
+# @info: Block graph information starting at this node
+#
+# Since: 8.0
+##
+{ 'struct': 'BlockChildInfo',
+ 'data': {
+ 'name': 'str',
+ 'info': 'BlockGraphInfo'
+ } }
+
+##
+# @BlockGraphInfo:
+#
+# Information about all nodes in a block (sub)graph in the form of BlockNodeInfo
+# data.
+# The base BlockNodeInfo struct contains the information for the (sub)graph's
+# root node.
+#
+# @children: Array of links to this node's child nodes' information
+#
+# Since: 8.0
+##
+{ 'struct': 'BlockGraphInfo',
+ 'base': 'BlockNodeInfo',
+ 'data': { 'children': ['BlockChildInfo'] } }
+
+##
# @ImageCheck:
#
# Information about a QEMU image file check