[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 20/23] block/qapi: Convert qmp_query_block()
From: |
Benoît Canet |
Subject: |
Re: [Qemu-devel] [PATCH v3 20/23] block/qapi: Convert qmp_query_block() to BlockBackend |
Date: |
Mon, 22 Sep 2014 12:05:56 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Sep 16, 2014 at 08:12:25PM +0200, Markus Armbruster wrote:
> Much more command code needs conversion. I start with this one
> because it's using bdrv_dev_* functions, which I'm about to lift into
> BlockBackend.
>
> While there, give bdrv_query_info() internal linkage.
>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> block/qapi.c | 15 ++++++++-------
> include/block/qapi.h | 3 ---
> 2 files changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/block/qapi.c b/block/qapi.c
> index d071ee5..fca981d 100644
> --- a/block/qapi.c
> +++ b/block/qapi.c
> @@ -28,6 +28,7 @@
> #include "qapi-visit.h"
> #include "qapi/qmp-output-visitor.h"
> #include "qapi/qmp/types.h"
> +#include "sysemu/block-backend.h"
> #ifdef __linux__
> #include <linux/fs.h>
> #include <sys/ioctl.h>
> @@ -264,15 +265,15 @@ void bdrv_query_image_info(BlockDriverState *bs,
> }
>
> /* @p_info will be set only on success. */
> -void bdrv_query_info(BlockDriverState *bs,
> - BlockInfo **p_info,
> - Error **errp)
> +static void bdrv_query_info(BlockBackend *blk, BlockInfo **p_info,
> + Error **errp)
> {
> BlockInfo *info = g_malloc0(sizeof(*info));
> + BlockDriverState *bs = blk_bs(blk);
> BlockDriverState *bs0;
> ImageInfo **p_image_info;
> Error *local_err = NULL;
> - info->device = g_strdup(bdrv_get_device_name(bs));
> + info->device = g_strdup(blk_name(blk));
> info->type = g_strdup("unknown");
> info->locked = bdrv_dev_is_medium_locked(bs);
> info->removable = bdrv_dev_has_removable_media(bs);
> @@ -360,12 +361,12 @@ static BlockStats *bdrv_query_stats(const
> BlockDriverState *bs)
> BlockInfoList *qmp_query_block(Error **errp)
> {
> BlockInfoList *head = NULL, **p_next = &head;
> - BlockDriverState *bs = NULL;
> + BlockBackend *blk;
> Error *local_err = NULL;
>
> - while ((bs = bdrv_next(bs))) {
> + for (blk = blk_next(NULL); blk; blk = blk_next(blk)) {
> BlockInfoList *info = g_malloc0(sizeof(*info));
> - bdrv_query_info(bs, &info->value, &local_err);
> + bdrv_query_info(blk, &info->value, &local_err);
> if (local_err) {
> error_propagate(errp, local_err);
> goto err;
> diff --git a/include/block/qapi.h b/include/block/qapi.h
> index 0374546..168d788 100644
> --- a/include/block/qapi.h
> +++ b/include/block/qapi.h
> @@ -36,9 +36,6 @@ int bdrv_query_snapshot_info_list(BlockDriverState *bs,
> void bdrv_query_image_info(BlockDriverState *bs,
> ImageInfo **p_info,
> Error **errp);
> -void bdrv_query_info(BlockDriverState *bs,
> - BlockInfo **p_info,
> - Error **errp);
>
> void bdrv_snapshot_dump(fprintf_function func_fprintf, void *f,
> QEMUSnapshotInfo *sn);
> --
> 1.9.3
>
Reviewed-by: Benoit Canet <address@hidden>