Hi all! I've start to apply scripts/coccinelle/errp-guard.cocci to block subsystem, but it turned out that in most cases error propagation can be simply avoided. So, here are some improvements to block layer error reporting to avoid error propagation. It's not complete, so its called part I, I don't want to create huge series.
Vladimir Sementsov-Ogievskiy (14): block: return status from bdrv_append and friends block: use return status of bdrv_append() block: check return value of bdrv_open_child and drop error propagation blockdev: fix drive_backup_prepare() missed error block: drop extra error propagation for bdrv_set_backing_hd block/mirror: drop extra error propagation in commit_active_start() block/blklogwrites: drop error propagation blockjob: return status from block_job_set_speed() block/qcow2: qcow2_get_specific_info(): drop error propagation block/qcow2-bitmap: improve qcow2_load_dirty_bitmaps() interface block/qcow2-bitmap: return startus from qcow2_store_persistent_dirty_bitmaps block/qcow2: read_cache_sizes: return status value block/qcow2: qcow2_do_open: deal with errp block/qed: bdrv_qed_do_open: deal with errp block/qcow2.h | 9 +++--- include/block/block.h | 12 +++---- include/block/blockjob.h | 2 +- block.c | 50 ++++++++++++++++-------------- block/backup-top.c | 20 +++++------- block/blkdebug.c | 6 ++-- block/blklogwrites.c | 33 +++++++++----------- block/blkreplay.c | 6 ++-- block/blkverify.c | 11 +++---- block/commit.c | 5 +-- block/mirror.c | 18 +++++------ block/qcow2-bitmap.c | 62 +++++++++++++++++-------------------- block/qcow2.c | 56 ++++++++++++++------------------- block/qed.c | 24 ++++++++------ block/quorum.c | 6 ++-- blockdev.c | 7 ++--- blockjob.c | 18 +++++------ tests/test-bdrv-graph-mod.c | 6 ++-- 18 files changed, 159 insertions(+), 192 deletions(-) -- 2.21.3