[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;
> }
- [PATCH 00/14] block: deal with errp: part I, Vladimir Sementsov-Ogievskiy, 2020/09/09
- [PATCH 02/14] block: use return status of bdrv_append(), Vladimir Sementsov-Ogievskiy, 2020/09/09
- [PATCH 01/14] block: return status from bdrv_append and friends, Vladimir Sementsov-Ogievskiy, 2020/09/09
- [PATCH 03/14] block: check return value of bdrv_open_child and drop error propagation, Vladimir Sementsov-Ogievskiy, 2020/09/09
- [PATCH 05/14] block: drop extra error propagation for bdrv_set_backing_hd, Vladimir Sementsov-Ogievskiy, 2020/09/09
- [PATCH 04/14] blockdev: fix drive_backup_prepare() missed error, Vladimir Sementsov-Ogievskiy, 2020/09/09
- [PATCH 10/14] block/qcow2-bitmap: improve qcow2_load_dirty_bitmaps() interface, Vladimir Sementsov-Ogievskiy, 2020/09/09