diff options
| author | Kevin Wolf <kwolf@redhat.com> | 2017-07-11 13:04:28 +0200 |
|---|---|---|
| committer | Kevin Wolf <kwolf@redhat.com> | 2017-07-18 15:14:36 +0200 |
| commit | d5b68844e6f7c13d30b46cc92ba468e5f92119a6 (patch) | |
| tree | 82919c5c1160952e1fd40347e9bfee4c772f2388 | |
| parent | a429b9b5f44fb126b3a6ff971027470254401487 (diff) | |
| download | focaccia-qemu-d5b68844e6f7c13d30b46cc92ba468e5f92119a6.tar.gz focaccia-qemu-d5b68844e6f7c13d30b46cc92ba468e5f92119a6.zip | |
block/qapi: Use blk_all_next() for query-block
This patch replaces the blk_next() loop in query-block by a blk_all_next() one so that we also get access to BlockBackends that aren't owned by the monitor. For now, the next thing we do is check whether each BB has a name, so there is no semantic difference. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com>
| -rw-r--r-- | block/qapi.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/block/qapi.c b/block/qapi.c index c8a45ec54c..164dd2b9a9 100644 --- a/block/qapi.c +++ b/block/qapi.c @@ -472,8 +472,14 @@ BlockInfoList *qmp_query_block(Error **errp) BlockBackend *blk; Error *local_err = NULL; - for (blk = blk_next(NULL); blk; blk = blk_next(blk)) { - BlockInfoList *info = g_malloc0(sizeof(*info)); + for (blk = blk_all_next(NULL); blk; blk = blk_all_next(blk)) { + BlockInfoList *info; + + if (!*blk_name(blk)) { + continue; + } + + info = g_malloc0(sizeof(*info)); bdrv_query_info(blk, &info->value, &local_err); if (local_err) { error_propagate(errp, local_err); |