btrfs: get fs_info from eb in leaf_data_end
authorDavid Sterba <dsterba@suse.com>
Wed, 20 Mar 2019 10:33:10 +0000 (11:33 +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/ctree.h
fs/btrfs/extent_io.c

index 7b1bc25..5be2bee 100644 (file)
@@ -3665,10 +3665,10 @@ static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info,
        right_nritems = btrfs_header_nritems(right);
 
        push_space = btrfs_item_end_nr(left, left_nritems - push_items);
-       push_space -= leaf_data_end(fs_info, left);
+       push_space -= leaf_data_end(left);
 
        /* make room in the right data area */
-       data_end = leaf_data_end(fs_info, right);
+       data_end = leaf_data_end(right);
        memmove_extent_buffer(right,
                              BTRFS_LEAF_DATA_OFFSET + data_end - push_space,
                              BTRFS_LEAF_DATA_OFFSET + data_end,
@@ -3677,7 +3677,7 @@ static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info,
        /* copy from the left data area */
        copy_extent_buffer(right, left, BTRFS_LEAF_DATA_OFFSET +
                     BTRFS_LEAF_DATA_SIZE(fs_info) - push_space,
-                    BTRFS_LEAF_DATA_OFFSET + leaf_data_end(fs_info, left),
+                    BTRFS_LEAF_DATA_OFFSET + leaf_data_end(left),
                     push_space);
 
        memmove_extent_buffer(right, btrfs_item_nr_offset(push_items),
@@ -3892,7 +3892,7 @@ static noinline int __push_leaf_left(struct btrfs_fs_info *fs_info,
                     btrfs_item_offset_nr(right, push_items - 1);
 
        copy_extent_buffer(left, right, BTRFS_LEAF_DATA_OFFSET +
-                    leaf_data_end(fs_info, left) - push_space,
+                    leaf_data_end(left) - push_space,
                     BTRFS_LEAF_DATA_OFFSET +
                     btrfs_item_offset_nr(right, push_items - 1),
                     push_space);
@@ -3919,11 +3919,11 @@ static noinline int __push_leaf_left(struct btrfs_fs_info *fs_info,
 
        if (push_items < right_nritems) {
                push_space = btrfs_item_offset_nr(right, push_items - 1) -
-                                                 leaf_data_end(fs_info, right);
+                                                 leaf_data_end(right);
                memmove_extent_buffer(right, BTRFS_LEAF_DATA_OFFSET +
                                      BTRFS_LEAF_DATA_SIZE(fs_info) - push_space,
                                      BTRFS_LEAF_DATA_OFFSET +
-                                     leaf_data_end(fs_info, right), push_space);
+                                     leaf_data_end(right), push_space);
 
                memmove_extent_buffer(right, btrfs_item_nr_offset(0),
                              btrfs_item_nr_offset(push_items),
@@ -4065,7 +4065,7 @@ static noinline void copy_for_split(struct btrfs_trans_handle *trans,
 
        nritems = nritems - mid;
        btrfs_set_header_nritems(right, nritems);
-       data_copy_size = btrfs_item_end_nr(l, mid) - leaf_data_end(fs_info, l);
+       data_copy_size = btrfs_item_end_nr(l, mid) - leaf_data_end(l);
 
        copy_extent_buffer(right, l, btrfs_item_nr_offset(0),
                           btrfs_item_nr_offset(mid),
@@ -4074,7 +4074,7 @@ static noinline void copy_for_split(struct btrfs_trans_handle *trans,
        copy_extent_buffer(right, l,
                     BTRFS_LEAF_DATA_OFFSET + BTRFS_LEAF_DATA_SIZE(fs_info) -
                     data_copy_size, BTRFS_LEAF_DATA_OFFSET +
-                    leaf_data_end(fs_info, l), data_copy_size);
+                    leaf_data_end(l), data_copy_size);
 
        rt_data_off = BTRFS_LEAF_DATA_SIZE(fs_info) - btrfs_item_end_nr(l, mid);
 
@@ -4577,7 +4577,7 @@ void btrfs_truncate_item(struct btrfs_fs_info *fs_info,
                return;
 
        nritems = btrfs_header_nritems(leaf);
-       data_end = leaf_data_end(fs_info, leaf);
+       data_end = leaf_data_end(leaf);
 
        old_data_start = btrfs_item_offset_nr(leaf, slot);
 
@@ -4670,7 +4670,7 @@ void btrfs_extend_item(struct btrfs_fs_info *fs_info, struct btrfs_path *path,
        leaf = path->nodes[0];
 
        nritems = btrfs_header_nritems(leaf);
-       data_end = leaf_data_end(fs_info, leaf);
+       data_end = leaf_data_end(leaf);
 
        if (btrfs_leaf_free_space(fs_info, leaf) < data_size) {
                btrfs_print_leaf(leaf);
@@ -4748,7 +4748,7 @@ void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,
        slot = path->slots[0];
 
        nritems = btrfs_header_nritems(leaf);
-       data_end = leaf_data_end(fs_info, leaf);
+       data_end = leaf_data_end(leaf);
 
        if (btrfs_leaf_free_space(fs_info, leaf) < total_size) {
                btrfs_print_leaf(leaf);
@@ -4976,7 +4976,7 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root,
        nritems = btrfs_header_nritems(leaf);
 
        if (slot + nr != nritems) {
-               int data_end = leaf_data_end(fs_info, leaf);
+               int data_end = leaf_data_end(leaf);
 
                memmove_extent_buffer(leaf, BTRFS_LEAF_DATA_OFFSET +
                              data_end + dsize,
index c03852d..7fabe4f 100644 (file)
@@ -2443,13 +2443,12 @@ static inline int btrfs_super_csum_size(const struct btrfs_super_block *s)
  * this returns the address of the start of the last item,
  * which is the stop of the leaf data stack
  */
-static inline unsigned int leaf_data_end(const struct btrfs_fs_info *fs_info,
-                                        const struct extent_buffer *leaf)
+static inline unsigned int leaf_data_end(const struct extent_buffer *leaf)
 {
        u32 nr = btrfs_header_nritems(leaf);
 
        if (nr == 0)
-               return BTRFS_LEAF_DATA_SIZE(fs_info);
+               return BTRFS_LEAF_DATA_SIZE(leaf->fs_info);
        return btrfs_item_offset_nr(leaf, nr - 1);
 }
 
index d33d4d2..a3e3e95 100644 (file)
@@ -3710,7 +3710,7 @@ static noinline_for_stack int write_one_eb(struct extent_buffer *eb,
                 * header 0 1 2 .. N ... data_N .. data_2 data_1 data_0
                 */
                start = btrfs_item_nr_offset(nritems);
-               end = BTRFS_LEAF_DATA_OFFSET + leaf_data_end(fs_info, eb);
+               end = BTRFS_LEAF_DATA_OFFSET + leaf_data_end(eb);
                memzero_extent_buffer(eb, start, end - start);
        }