[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/17] block: check return value of bdrv_open_child and drop error
From: |
Eric Blake |
Subject: |
[PULL 06/17] block: check return value of bdrv_open_child and drop error propagation |
Date: |
Tue, 9 Mar 2021 09:51:51 -0600 |
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
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>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-Id: <20210202124956.63146-4-vsementsov@virtuozzo.com>
[eblake: fix qcow2_do_open() to use ERRP_GUARD, necessary as the only
caller to pass allow_none=true]
Signed-off-by: Eric Blake <eblake@redhat.com>
---
block/blkdebug.c | 6 ++----
block/blklogwrites.c | 10 ++++------
block/blkreplay.c | 6 ++----
block/blkverify.c | 11 ++++-------
block/qcow2.c | 6 +++---
block/quorum.c | 6 ++----
6 files changed, 17 insertions(+), 28 deletions(-)
diff --git a/block/blkdebug.c b/block/blkdebug.c
index 7eaa8a28bf86..2c0b9b0ee85e 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 13ae63983bc0..b7579370a30a 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 30a0f5d57aa0..4a247752fd8f 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 943e62be9cf1..188d7632faec 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 d9f49a52e770..c5266424bb01 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -1292,6 +1292,7 @@ static int validate_compression_type(BDRVQcow2State *s,
Error **errp)
static int coroutine_fn qcow2_do_open(BlockDriverState *bs, QDict *options,
int flags, Error **errp)
{
+ ERRP_GUARD();
BDRVQcow2State *s = bs->opaque;
unsigned int len, i;
int ret = 0;
@@ -1611,9 +1612,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 (*errp) {
ret = -EINVAL;
goto fail;
}
diff --git a/block/quorum.c b/block/quorum.c
index 0bd75450de97..cfc1436abb59 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -929,7 +929,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;
@@ -1007,9 +1006,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;
}
--
2.30.1
- [PULL 00/17] NBD patches through 2021-03-09, Eric Blake, 2021/03/09
- [PULL 02/17] nbd: server: Report holes for raw images, Eric Blake, 2021/03/09
- [PULL 03/17] utils: Enhance testsuite for do_strtosz(), Eric Blake, 2021/03/09
- [PULL 04/17] utils: Improve qemu_strtosz() to have 64 bits of precision, Eric Blake, 2021/03/09
- [PULL 01/17] MAINTAINERS: add Vladimir as co-maintainer of NBD, Eric Blake, 2021/03/09
- [PULL 07/17] blockdev: fix drive_backup_prepare() missed error, Eric Blake, 2021/03/09
- [PULL 06/17] block: check return value of bdrv_open_child and drop error propagation,
Eric Blake <=
- [PULL 05/17] utils: Deprecate hex-with-suffix sizes, Eric Blake, 2021/03/09
- [PULL 12/17] block/qcow2-bitmap: improve qcow2_load_dirty_bitmaps() interface, Eric Blake, 2021/03/09
- [PULL 11/17] block/qcow2: qcow2_get_specific_info(): drop error propagation, Eric Blake, 2021/03/09
- [PULL 13/17] block/qcow2-bitmap: return status from qcow2_store_persistent_dirty_bitmaps, Eric Blake, 2021/03/09
- [PULL 10/17] blockjob: return status from block_job_set_speed(), Eric Blake, 2021/03/09
- [PULL 16/17] block/qed: bdrv_qed_do_open: deal with errp, Eric Blake, 2021/03/09
- [PULL 17/17] block/qcow2: refactor qcow2_update_options_prepare error paths, Eric Blake, 2021/03/09
- [PULL 08/17] block: drop extra error propagation for bdrv_set_backing_hd, Eric Blake, 2021/03/09
- [PULL 14/17] block/qcow2: read_cache_sizes: return status value, Eric Blake, 2021/03/09
- [PULL 09/17] block/mirror: drop extra error propagation in commit_active_start(), Eric Blake, 2021/03/09