Btrfs: return value of btrfs_read_buffer is checked correctly
btrfs_read_buffer() has the possibility of returning the error. Therefore, I add the code in which the return value of btrfs_read_buffer() is checked. Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
This commit is contained in:
parent
733f4fbbc1
commit
018642a1f1
@ -739,7 +739,11 @@ int btrfs_realloc_node(struct btrfs_trans_handle *trans,
|
||||
if (!cur)
|
||||
return -EIO;
|
||||
} else if (!uptodate) {
|
||||
btrfs_read_buffer(cur, gen);
|
||||
err = btrfs_read_buffer(cur, gen);
|
||||
if (err) {
|
||||
free_extent_buffer(cur);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (search_start == 0)
|
||||
|
@ -1628,7 +1628,9 @@ static int replay_one_buffer(struct btrfs_root *log, struct extent_buffer *eb,
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
btrfs_read_buffer(eb, gen);
|
||||
ret = btrfs_read_buffer(eb, gen);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
level = btrfs_header_level(eb);
|
||||
|
||||
@ -1749,7 +1751,11 @@ static noinline int walk_down_log_tree(struct btrfs_trans_handle *trans,
|
||||
|
||||
path->slots[*level]++;
|
||||
if (wc->free) {
|
||||
btrfs_read_buffer(next, ptr_gen);
|
||||
ret = btrfs_read_buffer(next, ptr_gen);
|
||||
if (ret) {
|
||||
free_extent_buffer(next);
|
||||
return ret;
|
||||
}
|
||||
|
||||
btrfs_tree_lock(next);
|
||||
btrfs_set_lock_blocking(next);
|
||||
@ -1766,7 +1772,11 @@ static noinline int walk_down_log_tree(struct btrfs_trans_handle *trans,
|
||||
free_extent_buffer(next);
|
||||
continue;
|
||||
}
|
||||
btrfs_read_buffer(next, ptr_gen);
|
||||
ret = btrfs_read_buffer(next, ptr_gen);
|
||||
if (ret) {
|
||||
free_extent_buffer(next);
|
||||
return ret;
|
||||
}
|
||||
|
||||
WARN_ON(*level <= 0);
|
||||
if (path->nodes[*level-1])
|
||||
|
Loading…
Reference in New Issue
Block a user