From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36363) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abAIY-0002Xc-I4 for qemu-devel@nongnu.org; Wed, 02 Mar 2016 12:10:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1abAIT-0005KV-O1 for qemu-devel@nongnu.org; Wed, 02 Mar 2016 12:10:54 -0500 References: <1456518142-9849-1-git-send-email-kwolf@redhat.com> <1456518142-9849-4-git-send-email-kwolf@redhat.com> From: Max Reitz Message-ID: <56D71E8D.4020309@redhat.com> Date: Wed, 2 Mar 2016 18:10:37 +0100 MIME-Version: 1.0 In-Reply-To: <1456518142-9849-4-git-send-email-kwolf@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="654ifwPCjG643ueji4OqBups1uTdqP0ho" Subject: Re: [Qemu-devel] [PATCH 3/3] block/qapi: Include empty drives in query-blockstats List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf , qemu-block@nongnu.org Cc: qemu-devel@nongnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --654ifwPCjG643ueji4OqBups1uTdqP0ho Content-Type: multipart/mixed; boundary="F9uimBjQSRcgmfcnMeHFrIIoKmGcvgBsF" From: Max Reitz To: Kevin Wolf , qemu-block@nongnu.org Cc: qemu-devel@nongnu.org Message-ID: <56D71E8D.4020309@redhat.com> Subject: Re: [PATCH 3/3] block/qapi: Include empty drives in query-blockstats References: <1456518142-9849-1-git-send-email-kwolf@redhat.com> <1456518142-9849-4-git-send-email-kwolf@redhat.com> In-Reply-To: <1456518142-9849-4-git-send-email-kwolf@redhat.com> --F9uimBjQSRcgmfcnMeHFrIIoKmGcvgBsF Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: quoted-printable 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. >=20 > This patch fixes the regression so that query-blockstats iterates over > BBs by default and empty drives are displayed again. >=20 > Signed-off-by: Kevin Wolf > --- > block/qapi.c | 48 +++++++++++++++++++++++++++++++++--------------- > 1 file changed, 33 insertions(+), 15 deletions(-) >=20 > 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, Bloc= kInfo **p_info, > qapi_free_BlockInfo(info); > } > =20 > -static BlockStats *bdrv_query_stats(const BlockDriverState *bs, > +static BlockStats *bdrv_query_stats(BlockBackend *blk, > + const BlockDriverState *bs, > bool query_backing); > =20 > static void bdrv_query_blk_stats(BlockStats *s, BlockBackend *blk) > @@ -363,6 +364,9 @@ static void bdrv_query_blk_stats(BlockStats *s, Blo= ckBackend *blk) > BlockAcctStats *stats =3D blk_get_stats(blk); > BlockAcctTimedStats *ts =3D NULL; > =20 > + s->has_device =3D true; > + s->device =3D g_strdup(blk_name(blk)); > + > s->stats->rd_bytes =3D stats->nr_bytes[BLOCK_ACCT_READ]; > s->stats->wr_bytes =3D stats->nr_bytes[BLOCK_ACCT_WRITE]; > s->stats->rd_operations =3D stats->nr_ops[BLOCK_ACCT_READ]; > @@ -428,11 +432,6 @@ static void bdrv_query_blk_stats(BlockStats *s, Bl= ockBackend *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 =3D true; > - s->device =3D g_strdup(bdrv_get_device_name(bs)); > - } > - > if (bdrv_get_node_name(bs)[0]) { > s->has_node_name =3D true; > s->node_name =3D g_strdup(bdrv_get_node_name(bs)); > @@ -442,17 +441,18 @@ static void bdrv_query_bds_stats(BlockStats *s, c= onst BlockDriverState *bs, > =20 > if (bs->file) { > s->has_parent =3D true; > - s->parent =3D bdrv_query_stats(bs->file->bs, query_backing); > + s->parent =3D bdrv_query_stats(NULL, bs->file->bs, query_backi= ng); > } > =20 > if (query_backing && bs->backing) { > s->has_backing =3D true; > - s->backing =3D bdrv_query_stats(bs->backing->bs, query_backing= ); > + s->backing =3D bdrv_query_stats(NULL, bs->backing->bs, query_b= acking); 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 --F9uimBjQSRcgmfcnMeHFrIIoKmGcvgBsF-- --654ifwPCjG643ueji4OqBups1uTdqP0ho Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJW1x6OAAoJEDuxQgLoOKytEvMH/AxxvOr32fXbn5FgBQE0YKGU xeb3H7p7FkqjBQkjblYTbFglMdq8TdqV1Ex+F3O/W36QJAb8dtGcwL7UdNpo9dRw hA2ud5lu4hw6DttoofRahIBiUQNF/dHNNDXfOGodHS1fTV7hDQT+0l1YstXKVtz6 R4nQp/rIlFGw7KPL91Lpv80qRFVZOLIne2vo2RxG7lgLai3l4iPbw2xL0mK5IUM3 nZjdrwGiQCAuEy3jdxRf/OyUTPbd2+ndeYaoC8DhE7Lc8YuNFqgaOOpiFlfbGjMq iXji+DIQStf4BWrjY3n8kfWGjXJOKNJSJlXVldFwM3XRszvUUBI8wASEWDpdjIs= =hUYL -----END PGP SIGNATURE----- --654ifwPCjG643ueji4OqBups1uTdqP0ho--