[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/4] qmp: Add optional switch "query-nodes" in q
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH 4/4] qmp: Add optional switch "query-nodes" in query-blockstats |
Date: |
Fri, 31 Oct 2014 11:20:15 +0800 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, 10/29 10:11, Max Reitz wrote:
> On 2014-10-29 at 06:04, Fam Zheng wrote:
> >This bool option will allow query all the node names. It iterates all
> >the BDSes that are assigned a name, also in this case don't query up the
> >backing chain.
> >
> >Signed-off-by: Fam Zheng <address@hidden>
> >---
> > block/qapi.c | 20 +++++++++++++-------
> > hmp.c | 2 +-
> > qapi/block-core.json | 4 +++-
> > qmp-commands.hx | 2 +-
> > 4 files changed, 18 insertions(+), 10 deletions(-)
> >
> >diff --git a/block/qapi.c b/block/qapi.c
> >index a4d1a20..e26033e 100644
> >--- a/block/qapi.c
> >+++ b/block/qapi.c
> >@@ -322,7 +322,8 @@ static void bdrv_query_info(BlockBackend *blk, BlockInfo
> >**p_info,
> > qapi_free_BlockInfo(info);
> > }
> >-static BlockStats *bdrv_query_stats(const BlockDriverState *bs)
> >+static BlockStats *bdrv_query_stats(const BlockDriverState *bs,
> >+ bool query_backing)
> > {
> > BlockStats *s;
> >@@ -352,12 +353,12 @@ static BlockStats *bdrv_query_stats(const
> >BlockDriverState *bs)
> > if (bs->file) {
> > s->has_parent = true;
> >- s->parent = bdrv_query_stats(bs->file);
> >+ s->parent = bdrv_query_stats(bs->file, query_backing);
> > }
> >- if (bs->backing_hd) {
> >+ if (query_backing && bs->backing_hd) {
> > s->has_backing = true;
> >- s->backing = bdrv_query_stats(bs->backing_hd);
> >+ s->backing = bdrv_query_stats(bs->backing_hd, query_backing);
> > }
>
> Is there a specific reason why you're not querying the backing chain but
> still recurse to bs->file?
Unlike its backing, there can be some information in ->file which is
interesting to the node itself, because it is ->file carries out the actual
read/write on the image. Makes sense?
Fam
- Re: [Qemu-devel] [PATCH 1/4] block: Add bdrv_next_node, (continued)