aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r--fs/btrfs/extent-tree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 94bed61b799f..6526f1faf6c2 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -7087,8 +7087,10 @@ static noinline int do_walk_down(struct btrfs_trans_handle *trans,
7087 if (reada && level == 1) 7087 if (reada && level == 1)
7088 reada_walk_down(trans, root, wc, path); 7088 reada_walk_down(trans, root, wc, path);
7089 next = read_tree_block(root, bytenr, blocksize, generation); 7089 next = read_tree_block(root, bytenr, blocksize, generation);
7090 if (!next) 7090 if (!next || !extent_buffer_uptodate(next)) {
7091 free_extent_buffer(next);
7091 return -EIO; 7092 return -EIO;
7093 }
7092 btrfs_tree_lock(next); 7094 btrfs_tree_lock(next);
7093 btrfs_set_lock_blocking(next); 7095 btrfs_set_lock_blocking(next);
7094 } 7096 }