diff mbox

[v3,20/23] block/qapi: Convert qmp_query_block() to BlockBackend

Message ID 1410891148-28849-21-git-send-email-armbru@redhat.com
State New
Headers show

Commit Message

Markus Armbruster Sept. 16, 2014, 6:12 p.m. UTC
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 <armbru@redhat.com>
---
 block/qapi.c         | 15 ++++++++-------
 include/block/qapi.h |  3 ---
 2 files changed, 8 insertions(+), 10 deletions(-)

Comments

BenoƮt Canet Sept. 22, 2014, 12:05 p.m. UTC | #1
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 <armbru@redhat.com>
> ---
>  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 <benoit.canet@nodalink.com>
Max Reitz Sept. 22, 2014, 1:22 p.m. UTC | #2
On 16.09.2014 20:12, 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 <armbru@redhat.com>
> ---
>   block/qapi.c         | 15 ++++++++-------
>   include/block/qapi.h |  3 ---
>   2 files changed, 8 insertions(+), 10 deletions(-)

Reviewed-by: Max Reitz <mreitz@redhat.com>
Kevin Wolf Sept. 29, 2014, 1:26 p.m. UTC | #3
Am 16.09.2014 um 20:12 hat Markus Armbruster geschrieben:
> 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 <armbru@redhat.com>

Reviewed-by: Kevin Wolf <kwolf@redhat.com>
diff mbox

Patch

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);