diff options
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r-- | fs/btrfs/extent-tree.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 689d25ac6a68..29e5d000bbee 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -8016,8 +8016,9 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root, | |||
8016 | struct extent_buffer *buf; | 8016 | struct extent_buffer *buf; |
8017 | 8017 | ||
8018 | buf = btrfs_find_create_tree_block(root, bytenr); | 8018 | buf = btrfs_find_create_tree_block(root, bytenr); |
8019 | if (!buf) | 8019 | if (IS_ERR(buf)) |
8020 | return ERR_PTR(-ENOMEM); | 8020 | return buf; |
8021 | |||
8021 | btrfs_set_header_generation(buf, trans->transid); | 8022 | btrfs_set_header_generation(buf, trans->transid); |
8022 | btrfs_set_buffer_lockdep_class(root->root_key.objectid, buf, level); | 8023 | btrfs_set_buffer_lockdep_class(root->root_key.objectid, buf, level); |
8023 | btrfs_tree_lock(buf); | 8024 | btrfs_tree_lock(buf); |
@@ -8044,7 +8045,7 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root, | |||
8044 | set_extent_dirty(&trans->transaction->dirty_pages, buf->start, | 8045 | set_extent_dirty(&trans->transaction->dirty_pages, buf->start, |
8045 | buf->start + buf->len - 1, GFP_NOFS); | 8046 | buf->start + buf->len - 1, GFP_NOFS); |
8046 | } | 8047 | } |
8047 | trans->blocks_used++; | 8048 | trans->dirty = true; |
8048 | /* this returns a buffer locked for blocking */ | 8049 | /* this returns a buffer locked for blocking */ |
8049 | return buf; | 8050 | return buf; |
8050 | } | 8051 | } |
@@ -8659,8 +8660,9 @@ static noinline int do_walk_down(struct btrfs_trans_handle *trans, | |||
8659 | next = btrfs_find_tree_block(root->fs_info, bytenr); | 8660 | next = btrfs_find_tree_block(root->fs_info, bytenr); |
8660 | if (!next) { | 8661 | if (!next) { |
8661 | next = btrfs_find_create_tree_block(root, bytenr); | 8662 | next = btrfs_find_create_tree_block(root, bytenr); |
8662 | if (!next) | 8663 | if (IS_ERR(next)) |
8663 | return -ENOMEM; | 8664 | return PTR_ERR(next); |
8665 | |||
8664 | btrfs_set_buffer_lockdep_class(root->root_key.objectid, next, | 8666 | btrfs_set_buffer_lockdep_class(root->root_key.objectid, next, |
8665 | level - 1); | 8667 | level - 1); |
8666 | reada = 1; | 8668 | reada = 1; |