btrfs: unify the error handling pattern for read_tree_block()
authorQu Wenruo <wqu@suse.com>
Tue, 22 Feb 2022 07:41:19 +0000 (15:41 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 14 Mar 2022 12:13:53 +0000 (13:13 +0100)
commit4eb150d6122bf51744d07c569ea811e8ce4bdd6d
tree7d1823547f7bfc356e7da2a061f99c1fefd37924
parent8f8aa4c7a9bde010211484a9c0475846acfc399f
btrfs: unify the error handling pattern for read_tree_block()

We had an error handling pattern for read_tree_block() like this:

eb = read_tree_block();
if (IS_ERR(eb)) {
/*
 * Handling error here
 * Normally ended up with return or goto out.
 */
} else if (!extent_buffer_uptodate(eb)) {
/*
 * Different error handling here
 * Normally also ended up with return or goto out;
 */
}

This is fine, but if we want to add extra check for each
read_tree_block(), the existing if-else-if is not that expandable and
will take reader some seconds to figure out there is no extra branch.

Here we change it to a more common way, without the extra else:

eb = read_tree_block();
if (IS_ERR(eb)) {
/*
 * Handling error here
 */
return eb or goto out;
}
if (!extent_buffer_uptodate(eb)) {
/*
 * Different error handling here
 */
return eb or goto out;
}

This also removes some oddball call sites which uses some creative way
to check error.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/backref.c
fs/btrfs/ctree.c
fs/btrfs/disk-io.c
fs/btrfs/print-tree.c
fs/btrfs/relocation.c