mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 15:04:27 +08:00
btrfs: simplify return variables in lookup_extent_data_ref()
First, drop err instead reuse ret, choose to return the error instead of goto fail and then return the same error. Do not initialize the ret until where it has to be initialized. Slight logic change in handling the btrfs_search_slot() and btrfs_next_leaf() return value. Signed-off-by: Anand Jain <anand.jain@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
6e812a9c65
commit
1618aa3c2e
@ -446,9 +446,8 @@ static noinline int lookup_extent_data_ref(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_extent_data_ref *ref;
|
||||
struct extent_buffer *leaf;
|
||||
u32 nritems;
|
||||
int ret;
|
||||
int recow;
|
||||
int err = -ENOENT;
|
||||
int ret;
|
||||
|
||||
key.objectid = bytenr;
|
||||
if (parent) {
|
||||
@ -462,26 +461,26 @@ static noinline int lookup_extent_data_ref(struct btrfs_trans_handle *trans,
|
||||
again:
|
||||
recow = 0;
|
||||
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
|
||||
if (ret < 0) {
|
||||
err = ret;
|
||||
goto fail;
|
||||
}
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (parent) {
|
||||
if (!ret)
|
||||
if (ret)
|
||||
return -ENOENT;
|
||||
return 0;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
ret = -ENOENT;
|
||||
leaf = path->nodes[0];
|
||||
nritems = btrfs_header_nritems(leaf);
|
||||
while (1) {
|
||||
if (path->slots[0] >= nritems) {
|
||||
ret = btrfs_next_leaf(root, path);
|
||||
if (ret < 0)
|
||||
err = ret;
|
||||
if (ret)
|
||||
goto fail;
|
||||
if (ret) {
|
||||
if (ret > 1)
|
||||
return -ENOENT;
|
||||
return ret;
|
||||
}
|
||||
|
||||
leaf = path->nodes[0];
|
||||
nritems = btrfs_header_nritems(leaf);
|
||||
@ -502,13 +501,13 @@ again:
|
||||
btrfs_release_path(path);
|
||||
goto again;
|
||||
}
|
||||
err = 0;
|
||||
ret = 0;
|
||||
break;
|
||||
}
|
||||
path->slots[0]++;
|
||||
}
|
||||
fail:
|
||||
return err;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static noinline int insert_extent_data_ref(struct btrfs_trans_handle *trans,
|
||||
|
Loading…
Reference in New Issue
Block a user