qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 03/14] block: check return value of bdrv_open_child and drop


From: Greg Kurz
Subject: Re: [PATCH 03/14] block: check return value of bdrv_open_child and drop error propagation
Date: Thu, 10 Sep 2020 18:21:18 +0200

On Wed,  9 Sep 2020 21:59:19 +0300
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> wrote:

> This patch is generated by cocci script:
> 
> @@
> symbol bdrv_open_child, errp, local_err;
> expression file;
> @@
> 
>   file = bdrv_open_child(...,
> -                        &local_err
> +                        errp
>                         );
> - if (local_err)
> + if (!file)
>   {
>       ...
> -     error_propagate(errp, local_err);
>       ...
>   }
> 
> with command
> 
> spatch --sp-file x.cocci --macro-file scripts/cocci-macro-file.h \
> --in-place --no-show-diff --max-width 80 --use-gitgrep block
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> ---

Reviewed-by: Greg Kurz <groug@kaod.org>

>  block/blkdebug.c     |  6 ++----
>  block/blklogwrites.c | 10 ++++------
>  block/blkreplay.c    |  6 ++----
>  block/blkverify.c    | 11 ++++-------
>  block/qcow2.c        |  5 ++---
>  block/quorum.c       |  6 ++----
>  6 files changed, 16 insertions(+), 28 deletions(-)
> 
> diff --git a/block/blkdebug.c b/block/blkdebug.c
> index 9c08d8a005..61aaee9879 100644
> --- a/block/blkdebug.c
> +++ b/block/blkdebug.c
> @@ -464,7 +464,6 @@ static int blkdebug_open(BlockDriverState *bs, QDict 
> *options, int flags,
>  {
>      BDRVBlkdebugState *s = bs->opaque;
>      QemuOpts *opts;
> -    Error *local_err = NULL;
>      int ret;
>      uint64_t align;
>  
> @@ -494,10 +493,9 @@ static int blkdebug_open(BlockDriverState *bs, QDict 
> *options, int flags,
>      bs->file = bdrv_open_child(qemu_opt_get(opts, "x-image"), options, 
> "image",
>                                 bs, &child_of_bds,
>                                 BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
> -                               false, &local_err);
> -    if (local_err) {
> +                               false, errp);
> +    if (!bs->file) {
>          ret = -EINVAL;
> -        error_propagate(errp, local_err);
>          goto out;
>      }
>  
> diff --git a/block/blklogwrites.c b/block/blklogwrites.c
> index 57315f56b4..7ef046cee9 100644
> --- a/block/blklogwrites.c
> +++ b/block/blklogwrites.c
> @@ -157,19 +157,17 @@ static int blk_log_writes_open(BlockDriverState *bs, 
> QDict *options, int flags,
>      /* Open the file */
>      bs->file = bdrv_open_child(NULL, options, "file", bs, &child_of_bds,
>                                 BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY, 
> false,
> -                               &local_err);
> -    if (local_err) {
> +                               errp);
> +    if (!bs->file) {
>          ret = -EINVAL;
> -        error_propagate(errp, local_err);
>          goto fail;
>      }
>  
>      /* Open the log file */
>      s->log_file = bdrv_open_child(NULL, options, "log", bs, &child_of_bds,
> -                                  BDRV_CHILD_METADATA, false, &local_err);
> -    if (local_err) {
> +                                  BDRV_CHILD_METADATA, false, errp);
> +    if (!s->log_file) {
>          ret = -EINVAL;
> -        error_propagate(errp, local_err);
>          goto fail;
>      }
>  
> diff --git a/block/blkreplay.c b/block/blkreplay.c
> index 30a0f5d57a..4a247752fd 100644
> --- a/block/blkreplay.c
> +++ b/block/blkreplay.c
> @@ -23,16 +23,14 @@ typedef struct Request {
>  static int blkreplay_open(BlockDriverState *bs, QDict *options, int flags,
>                            Error **errp)
>  {
> -    Error *local_err = NULL;
>      int ret;
>  
>      /* Open the image file */
>      bs->file = bdrv_open_child(NULL, options, "image", bs, &child_of_bds,
>                                 BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
> -                               false, &local_err);
> -    if (local_err) {
> +                               false, errp);
> +    if (!bs->file) {
>          ret = -EINVAL;
> -        error_propagate(errp, local_err);
>          goto fail;
>      }
>  
> diff --git a/block/blkverify.c b/block/blkverify.c
> index 4aed53ab59..95ae73e2aa 100644
> --- a/block/blkverify.c
> +++ b/block/blkverify.c
> @@ -112,7 +112,6 @@ static int blkverify_open(BlockDriverState *bs, QDict 
> *options, int flags,
>  {
>      BDRVBlkverifyState *s = bs->opaque;
>      QemuOpts *opts;
> -    Error *local_err = NULL;
>      int ret;
>  
>      opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort);
> @@ -125,20 +124,18 @@ static int blkverify_open(BlockDriverState *bs, QDict 
> *options, int flags,
>      bs->file = bdrv_open_child(qemu_opt_get(opts, "x-raw"), options, "raw",
>                                 bs, &child_of_bds,
>                                 BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
> -                               false, &local_err);
> -    if (local_err) {
> +                               false, errp);
> +    if (!bs->file) {
>          ret = -EINVAL;
> -        error_propagate(errp, local_err);
>          goto fail;
>      }
>  
>      /* Open the test file */
>      s->test_file = bdrv_open_child(qemu_opt_get(opts, "x-image"), options,
>                                     "test", bs, &child_of_bds, 
> BDRV_CHILD_DATA,
> -                                   false, &local_err);
> -    if (local_err) {
> +                                   false, errp);
> +    if (!s->test_file) {
>          ret = -EINVAL;
> -        error_propagate(errp, local_err);
>          goto fail;
>      }
>  
> diff --git a/block/qcow2.c b/block/qcow2.c
> index da56b1a4df..10175fa399 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -1613,9 +1613,8 @@ static int coroutine_fn qcow2_do_open(BlockDriverState 
> *bs, QDict *options,
>      /* Open external data file */
>      s->data_file = bdrv_open_child(NULL, options, "data-file", bs,
>                                     &child_of_bds, BDRV_CHILD_DATA,
> -                                   true, &local_err);
> -    if (local_err) {
> -        error_propagate(errp, local_err);
> +                                   true, errp);
> +    if (!s->data_file) {
>          ret = -EINVAL;
>          goto fail;
>      }
> diff --git a/block/quorum.c b/block/quorum.c
> index 6df9449fc2..672b09e13d 100644
> --- a/block/quorum.c
> +++ b/block/quorum.c
> @@ -898,7 +898,6 @@ static int quorum_open(BlockDriverState *bs, QDict 
> *options, int flags,
>                         Error **errp)
>  {
>      BDRVQuorumState *s = bs->opaque;
> -    Error *local_err = NULL;
>      QemuOpts *opts = NULL;
>      const char *pattern_str;
>      bool *opened;
> @@ -976,9 +975,8 @@ static int quorum_open(BlockDriverState *bs, QDict 
> *options, int flags,
>  
>          s->children[i] = bdrv_open_child(NULL, options, indexstr, bs,
>                                           &child_of_bds, BDRV_CHILD_DATA, 
> false,
> -                                         &local_err);
> -        if (local_err) {
> -            error_propagate(errp, local_err);
> +                                         errp);
> +        if (!s->children[i]) {
>              ret = -EINVAL;
>              goto close_exit;
>          }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]