From: Max Reitz <mreitz@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>, qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 3/3] block/qapi: Include empty drives in query-blockstats
Date: Wed, 2 Mar 2016 18:10:37 +0100 [thread overview]
Message-ID: <56D71E8D.4020309@redhat.com> (raw)
In-Reply-To: <1456518142-9849-4-git-send-email-kwolf@redhat.com>
[-- Attachment #1.1: Type: text/plain, Size: 2930 bytes --]
On 26.02.2016 21:22, Kevin Wolf wrote:
> Since commit 5ec18f8c, query-blockstats didn't return the statistics of
> drives without media any more because such drives have only a BB now,
> but not a BDS any more.
>
> This patch fixes the regression so that query-blockstats iterates over
> BBs by default and empty drives are displayed again.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
> block/qapi.c | 48 +++++++++++++++++++++++++++++++++---------------
> 1 file changed, 33 insertions(+), 15 deletions(-)
>
> diff --git a/block/qapi.c b/block/qapi.c
> index 31ae879..6a4869a 100644
> --- a/block/qapi.c
> +++ b/block/qapi.c
> @@ -355,7 +355,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(BlockBackend *blk,
> + const BlockDriverState *bs,
> bool query_backing);
>
> static void bdrv_query_blk_stats(BlockStats *s, BlockBackend *blk)
> @@ -363,6 +364,9 @@ static void bdrv_query_blk_stats(BlockStats *s, BlockBackend *blk)
> BlockAcctStats *stats = blk_get_stats(blk);
> BlockAcctTimedStats *ts = NULL;
>
> + s->has_device = true;
> + s->device = g_strdup(blk_name(blk));
> +
> s->stats->rd_bytes = stats->nr_bytes[BLOCK_ACCT_READ];
> s->stats->wr_bytes = stats->nr_bytes[BLOCK_ACCT_WRITE];
> s->stats->rd_operations = stats->nr_ops[BLOCK_ACCT_READ];
> @@ -428,11 +432,6 @@ static void bdrv_query_blk_stats(BlockStats *s, BlockBackend *blk)
> static void bdrv_query_bds_stats(BlockStats *s, const BlockDriverState *bs,
> bool query_backing)
> {
> - if (bdrv_get_device_name(bs)[0]) {
> - s->has_device = true;
> - s->device = g_strdup(bdrv_get_device_name(bs));
> - }
> -
> if (bdrv_get_node_name(bs)[0]) {
> s->has_node_name = true;
> s->node_name = g_strdup(bdrv_get_node_name(bs));
> @@ -442,17 +441,18 @@ static void bdrv_query_bds_stats(BlockStats *s, const BlockDriverState *bs,
>
> if (bs->file) {
> s->has_parent = true;
> - s->parent = bdrv_query_stats(bs->file->bs, query_backing);
> + s->parent = bdrv_query_stats(NULL, bs->file->bs, query_backing);
> }
>
> if (query_backing && bs->backing) {
> s->has_backing = true;
> - s->backing = bdrv_query_stats(bs->backing->bs, query_backing);
> + s->backing = bdrv_query_stats(NULL, bs->backing->bs, query_backing);
This breaks my very important use case of having BBs on backing BDSs!!!
Kidding aside: Maybe someone actually wants to do this? Should we feel
bad for breaking query-blockstats for those BBs?
If no:
Reviewed-by: Max Reitz <mreitz@redhat.com>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2016-03-02 17:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-26 20:22 [Qemu-devel] [PATCH 0/3] block/qapi: Include empty drives in query-blockstats Kevin Wolf
2016-02-26 20:22 ` [Qemu-devel] [PATCH 1/3] block/qapi: Factor out bdrv_query_blk_stats() Kevin Wolf
2016-03-02 16:42 ` Max Reitz
2016-02-26 20:22 ` [Qemu-devel] [PATCH 2/3] block/qapi: Factor out bdrv_query_bds_stats() Kevin Wolf
2016-03-02 16:47 ` Max Reitz
2016-03-02 16:52 ` Kevin Wolf
2016-03-02 16:55 ` Max Reitz
2016-02-26 20:22 ` [Qemu-devel] [PATCH 3/3] block/qapi: Include empty drives in query-blockstats Kevin Wolf
2016-03-02 17:10 ` Max Reitz [this message]
2016-03-02 17:27 ` Kevin Wolf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56D71E8D.4020309@redhat.com \
--to=mreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.