diff options
author | BenoƮt Canet <benoit@irqsave.net> | 2014-01-23 21:31:34 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2014-01-24 16:07:08 +0100 |
commit | c13163fba151f0be5176eaf55907bc1dbff3a1d4 (patch) | |
tree | 07a5cbbf02a889f372c6650e288f0dcf7dd23eb7 /block.c | |
parent | 6913c0c2ce00c0e886b2bd20b05073090fa5308a (diff) |
qmp: Add QMP query-named-block-nodes to list the named BlockDriverState nodes.
Signed-off-by: Benoit Canet <benoit@irqsave.net>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r-- | block.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -32,6 +32,7 @@ #include "sysemu/sysemu.h" #include "qemu/notify.h" #include "block/coroutine.h" +#include "block/qapi.h" #include "qmp-commands.h" #include "qemu/timer.h" @@ -3291,6 +3292,23 @@ BlockDriverState *bdrv_find_node(const char *node_name) return NULL; } +/* Put this QMP function here so it can access the static graph_bdrv_states. */ +BlockDeviceInfoList *bdrv_named_nodes_list(void) +{ + BlockDeviceInfoList *list, *entry; + BlockDriverState *bs; + + list = NULL; + QTAILQ_FOREACH(bs, &graph_bdrv_states, node_list) { + entry = g_malloc0(sizeof(*entry)); + entry->value = bdrv_block_device_info(bs); + entry->next = list; + list = entry; + } + + return list; +} + BlockDriverState *bdrv_next(BlockDriverState *bs) { if (!bs) { |