btrfs: get fs_info from eb in clean_tree_block
authorDavid Sterba <dsterba@suse.com>
Wed, 20 Mar 2019 13:30:02 +0000 (14:30 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 29 Apr 2019 17:02:30 +0000 (19:02 +0200)
We can read fs_info from extent buffer and can drop it from the
parameters.

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.c
fs/btrfs/disk-io.c
fs/btrfs/disk-io.h
fs/btrfs/extent-tree.c
fs/btrfs/free-space-tree.c
fs/btrfs/qgroup.c
fs/btrfs/tree-log.c

index b83627a372b12728895cd880407a7637f8d2990b..76e57a8c98dfa6e585e4e7642c100ca9b2279876 100644 (file)
@@ -970,7 +970,7 @@ static noinline int update_ref_for_cow(struct btrfs_trans_handle *trans,
                        if (ret)
                                return ret;
                }
-               clean_tree_block(fs_info, buf);
+               btrfs_clean_tree_block(buf);
                *last_ref = 1;
        }
        return 0;
@@ -1888,7 +1888,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
 
                path->locks[level] = 0;
                path->nodes[level] = NULL;
-               clean_tree_block(fs_info, mid);
+               btrfs_clean_tree_block(mid);
                btrfs_tree_unlock(mid);
                /* once for the path */
                free_extent_buffer(mid);
@@ -1949,7 +1949,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
                if (wret < 0 && wret != -ENOSPC)
                        ret = wret;
                if (btrfs_header_nritems(right) == 0) {
-                       clean_tree_block(fs_info, right);
+                       btrfs_clean_tree_block(right);
                        btrfs_tree_unlock(right);
                        del_ptr(root, path, level + 1, pslot + 1);
                        root_sub_used(root, right->len);
@@ -1994,7 +1994,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
                BUG_ON(wret == 1);
        }
        if (btrfs_header_nritems(mid) == 0) {
-               clean_tree_block(fs_info, mid);
+               btrfs_clean_tree_block(mid);
                btrfs_tree_unlock(mid);
                del_ptr(root, path, level + 1, pslot);
                root_sub_used(root, mid->len);
@@ -3704,7 +3704,7 @@ static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info,
        if (left_nritems)
                btrfs_mark_buffer_dirty(left);
        else
-               clean_tree_block(fs_info, left);
+               btrfs_clean_tree_block(left);
 
        btrfs_mark_buffer_dirty(right);
 
@@ -3716,7 +3716,7 @@ static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info,
        if (path->slots[0] >= left_nritems) {
                path->slots[0] -= left_nritems;
                if (btrfs_header_nritems(path->nodes[0]) == 0)
-                       clean_tree_block(fs_info, path->nodes[0]);
+                       btrfs_clean_tree_block(path->nodes[0]);
                btrfs_tree_unlock(path->nodes[0]);
                free_extent_buffer(path->nodes[0]);
                path->nodes[0] = right;
@@ -3944,7 +3944,7 @@ static noinline int __push_leaf_left(struct btrfs_fs_info *fs_info,
        if (right_nritems)
                btrfs_mark_buffer_dirty(right);
        else
-               clean_tree_block(fs_info, right);
+               btrfs_clean_tree_block(right);
 
        btrfs_item_key(right, &disk_key, 0);
        fixup_low_keys(path, &disk_key, 1);
@@ -5005,7 +5005,7 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root,
                        btrfs_set_header_level(leaf, 0);
                } else {
                        btrfs_set_path_blocking(path);
-                       clean_tree_block(fs_info, leaf);
+                       btrfs_clean_tree_block(leaf);
                        btrfs_del_leaf(trans, root, path, leaf);
                }
        } else {
index ab7e2c5ba556d5fa49c2c07aef4dbad10a5ece68..64978fc36745ec8e5cdd96918cd7b064c9142cba 100644 (file)
@@ -1107,9 +1107,9 @@ struct extent_buffer *read_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr,
 
 }
 
-void clean_tree_block(struct btrfs_fs_info *fs_info,
-                     struct extent_buffer *buf)
+void btrfs_clean_tree_block(struct extent_buffer *buf)
 {
+       struct btrfs_fs_info *fs_info = buf->fs_info;
        if (btrfs_header_generation(buf) ==
            fs_info->running_transaction->transid) {
                btrfs_assert_tree_locked(buf);
index a94ce82a2be0b248fc86edbfbc8bb5229be2284b..917634f2bae9b451e71634766c907fae72e4bc65 100644 (file)
@@ -51,7 +51,7 @@ int reada_tree_block_flagged(struct btrfs_fs_info *fs_info, u64 bytenr,
 struct extent_buffer *btrfs_find_create_tree_block(
                                                struct btrfs_fs_info *fs_info,
                                                u64 bytenr);
-void clean_tree_block(struct btrfs_fs_info *fs_info, struct extent_buffer *buf);
+void btrfs_clean_tree_block(struct extent_buffer *buf);
 int open_ctree(struct super_block *sb,
               struct btrfs_fs_devices *fs_devices,
               char *options);
index 44fd4553004b13e6c73057db4af7a49042d34743..aa52b0995fba7b41125abe7f1ec72e0d7311c481 100644 (file)
@@ -8557,7 +8557,7 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root,
 
        btrfs_set_buffer_lockdep_class(root->root_key.objectid, buf, level);
        btrfs_tree_lock(buf);
-       clean_tree_block(fs_info, buf);
+       btrfs_clean_tree_block(buf);
        clear_bit(EXTENT_BUFFER_STALE, &buf->bflags);
 
        btrfs_set_lock_blocking_write(buf);
@@ -9252,14 +9252,14 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
                                             ret);
                        }
                }
-               /* make block locked assertion in clean_tree_block happy */
+               /* make block locked assertion in btrfs_clean_tree_block happy */
                if (!path->locks[level] &&
                    btrfs_header_generation(eb) == trans->transid) {
                        btrfs_tree_lock(eb);
                        btrfs_set_lock_blocking_write(eb);
                        path->locks[level] = BTRFS_WRITE_LOCK_BLOCKING;
                }
-               clean_tree_block(fs_info, eb);
+               btrfs_clean_tree_block(eb);
        }
 
        if (eb == root->node) {
index e5089087eaa66ea3c4fcb1e679bf46fe8ee6c916..4859e09d2af00fc760ddc22573f6f81290fe2a65 100644 (file)
@@ -1248,7 +1248,7 @@ int btrfs_clear_free_space_tree(struct btrfs_fs_info *fs_info)
        list_del(&free_space_root->dirty_list);
 
        btrfs_tree_lock(free_space_root->node);
-       clean_tree_block(fs_info, free_space_root->node);
+       btrfs_clean_tree_block(free_space_root->node);
        btrfs_tree_unlock(free_space_root->node);
        btrfs_free_tree_block(trans, free_space_root, free_space_root->node,
                              0, 1);
index e659d9d6110733845b35309703d9dff73cb78689..95361ccaa488ef8d19a17aeee33532937cc258df 100644 (file)
@@ -1101,7 +1101,7 @@ int btrfs_quota_disable(struct btrfs_fs_info *fs_info)
        list_del(&quota_root->dirty_list);
 
        btrfs_tree_lock(quota_root->node);
-       clean_tree_block(fs_info, quota_root->node);
+       btrfs_clean_tree_block(quota_root->node);
        btrfs_tree_unlock(quota_root->node);
        btrfs_free_tree_block(trans, quota_root, quota_root->node, 0, 1);
 
index 4cb61cb72c4ed58c6b76762b38a79e5343796741..79f75bec9f40793d86fd0088b9374c5173279358 100644 (file)
@@ -2736,7 +2736,7 @@ static noinline int walk_down_log_tree(struct btrfs_trans_handle *trans,
                                if (trans) {
                                        btrfs_tree_lock(next);
                                        btrfs_set_lock_blocking_write(next);
-                                       clean_tree_block(fs_info, next);
+                                       btrfs_clean_tree_block(next);
                                        btrfs_wait_tree_block_writeback(next);
                                        btrfs_tree_unlock(next);
                                } else {
@@ -2820,7 +2820,7 @@ static noinline int walk_up_log_tree(struct btrfs_trans_handle *trans,
                                if (trans) {
                                        btrfs_tree_lock(next);
                                        btrfs_set_lock_blocking_write(next);
-                                       clean_tree_block(fs_info, next);
+                                       btrfs_clean_tree_block(next);
                                        btrfs_wait_tree_block_writeback(next);
                                        btrfs_tree_unlock(next);
                                } else {
@@ -2902,7 +2902,7 @@ static int walk_log_tree(struct btrfs_trans_handle *trans,
                        if (trans) {
                                btrfs_tree_lock(next);
                                btrfs_set_lock_blocking_write(next);
-                               clean_tree_block(fs_info, next);
+                               btrfs_clean_tree_block(next);
                                btrfs_wait_tree_block_writeback(next);
                                btrfs_tree_unlock(next);
                        } else {