From: Markus Armbruster Date: Tue, 7 Oct 2014 11:59:23 +0000 (+0200) Subject: block/qapi: Convert qmp_query_block() to BlockBackend X-Git-Tag: v2.2.0-rc0~35^2~3 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d829a2115f0817993e2b683601cb544a27980a8f;p=users%2Fdwmw2%2Fqemu.git block/qapi: Convert qmp_query_block() to BlockBackend 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 Reviewed-by: BenoƮt Canet Reviewed-by: Max Reitz Reviewed-by: Kevin Wolf Signed-off-by: Kevin Wolf --- diff --git a/block/qapi.c b/block/qapi.c index d071ee564e..fca981d94e 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 #include @@ -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 03745464d6..168d788521 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);