btrfs: switch extent_io_tree::private_data to btrfs_inode and rename
authorDavid Sterba <dsterba@suse.com>
Fri, 28 Oct 2022 00:55:51 +0000 (02:55 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 5 Dec 2022 17:00:54 +0000 (18:00 +0100)
The extent_io_tree::private_data was meant to be a preparatory work for
the metadata inode rework but that never materialized. Now it's used
only for an inode so it's better to change the appropriate type and
rename it.

Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-io-tree.c
fs/btrfs/extent-io-tree.h
fs/btrfs/inode.c
include/trace/events/btrfs.h

index 8136587..bbcc655 100644 (file)
@@ -58,17 +58,17 @@ static inline void __btrfs_debug_check_extent_io_range(const char *caller,
                                                       struct extent_io_tree *tree,
                                                       u64 start, u64 end)
 {
-       struct inode *inode = tree->private_data;
+       struct btrfs_inode *inode = tree->inode;
        u64 isize;
 
        if (!inode)
                return;
 
-       isize = i_size_read(inode);
+       isize = i_size_read(&inode->vfs_inode);
        if (end >= PAGE_SIZE && (end % 2) == 0 && end != isize - 1) {
-               btrfs_debug_rl(BTRFS_I(inode)->root->fs_info,
+               btrfs_debug_rl(inode->root->fs_info,
                    "%s: ino %llu isize %llu odd range [%llu,%llu]",
-                       caller, btrfs_ino(BTRFS_I(inode)), isize, start, end);
+                       caller, btrfs_ino(inode), isize, start, end);
        }
 }
 #else
@@ -99,7 +99,7 @@ void extent_io_tree_init(struct btrfs_fs_info *fs_info,
        tree->fs_info = fs_info;
        tree->state = RB_ROOT;
        spin_lock_init(&tree->lock);
-       tree->private_data = NULL;
+       tree->inode = NULL;
        tree->owner = owner;
        if (owner == IO_TREE_INODE_FILE_EXTENT)
                lockdep_set_class(&tree->lock, &file_extent_tree_class);
@@ -346,9 +346,9 @@ static void merge_state(struct extent_io_tree *tree, struct extent_state *state)
        other = prev_state(state);
        if (other && other->end == state->start - 1 &&
            other->state == state->state) {
-               if (tree->private_data)
-                       btrfs_merge_delalloc_extent(tree->private_data,
-                                                   state, other);
+               if (tree->inode)
+                       btrfs_merge_delalloc_extent(&tree->inode->vfs_inode, state,
+                                                   other);
                state->start = other->start;
                rb_erase(&other->rb_node, &tree->state);
                RB_CLEAR_NODE(&other->rb_node);
@@ -357,8 +357,8 @@ static void merge_state(struct extent_io_tree *tree, struct extent_state *state)
        other = next_state(state);
        if (other && other->start == state->end + 1 &&
            other->state == state->state) {
-               if (tree->private_data)
-                       btrfs_merge_delalloc_extent(tree->private_data, state,
+               if (tree->inode)
+                       btrfs_merge_delalloc_extent(&tree->inode->vfs_inode, state,
                                                    other);
                state->end = other->end;
                rb_erase(&other->rb_node, &tree->state);
@@ -374,8 +374,8 @@ static void set_state_bits(struct extent_io_tree *tree,
        u32 bits_to_set = bits & ~EXTENT_CTLBITS;
        int ret;
 
-       if (tree->private_data)
-               btrfs_set_delalloc_extent(tree->private_data, state, bits);
+       if (tree->inode)
+               btrfs_set_delalloc_extent(&tree->inode->vfs_inode, state, bits);
 
        ret = add_extent_changeset(state, bits_to_set, changeset, 1);
        BUG_ON(ret < 0);
@@ -462,8 +462,8 @@ static int split_state(struct extent_io_tree *tree, struct extent_state *orig,
        struct rb_node *parent = NULL;
        struct rb_node **node;
 
-       if (tree->private_data)
-               btrfs_split_delalloc_extent(tree->private_data, orig, split);
+       if (tree->inode)
+               btrfs_split_delalloc_extent(&tree->inode->vfs_inode, orig, split);
 
        prealloc->start = orig->start;
        prealloc->end = split - 1;
@@ -510,8 +510,8 @@ static struct extent_state *clear_state_bit(struct extent_io_tree *tree,
        u32 bits_to_clear = bits & ~EXTENT_CTLBITS;
        int ret;
 
-       if (tree->private_data)
-               btrfs_clear_delalloc_extent(tree->private_data, state, bits);
+       if (tree->inode)
+               btrfs_clear_delalloc_extent(&tree->inode->vfs_inode, state, bits);
 
        ret = add_extent_changeset(state, bits_to_clear, changeset, 0);
        BUG_ON(ret < 0);
index 0e16642..cdee8c0 100644 (file)
@@ -80,7 +80,8 @@ enum {
 struct extent_io_tree {
        struct rb_root state;
        struct btrfs_fs_info *fs_info;
-       void *private_data;
+       /* Inode associated with this tree, or NULL. */
+       struct btrfs_inode *inode;
 
        /* Who owns this io tree, should be one of IO_TREE_* */
        u8 owner;
index 29c6c0e..23ec33a 100644 (file)
@@ -8872,7 +8872,7 @@ struct inode *btrfs_alloc_inode(struct super_block *sb)
        inode = &ei->vfs_inode;
        extent_map_tree_init(&ei->extent_tree);
        extent_io_tree_init(fs_info, &ei->io_tree, IO_TREE_INODE_IO);
-       ei->io_tree.private_data = inode;
+       ei->io_tree.inode = ei;
        extent_io_tree_init(fs_info, &ei->file_extent_tree,
                            IO_TREE_INODE_FILE_EXTENT);
        ei->io_failure_tree = RB_ROOT;
index ed50e81..0bce0b4 100644 (file)
@@ -1993,12 +1993,11 @@ TRACE_EVENT(btrfs_set_extent_bit,
 
        TP_fast_assign_btrfs(tree->fs_info,
                __entry->owner = tree->owner;
-               if (tree->private_data) {
-                       const struct inode *inode = tree->private_data;
+               if (tree->inode) {
+                       const struct btrfs_inode *inode = tree->inode;
 
-                       __entry->ino    = btrfs_ino(BTRFS_I(inode));
-                       __entry->rootid =
-                               BTRFS_I(inode)->root->root_key.objectid;
+                       __entry->ino    = btrfs_ino(inode);
+                       __entry->rootid = inode->root->root_key.objectid;
                } else {
                        __entry->ino    = 0;
                        __entry->rootid = 0;
@@ -2032,12 +2031,11 @@ TRACE_EVENT(btrfs_clear_extent_bit,
 
        TP_fast_assign_btrfs(tree->fs_info,
                __entry->owner = tree->owner;
-               if (tree->private_data) {
-                       const struct inode *inode = tree->private_data;
+               if (tree->inode) {
+                       const struct btrfs_inode *inode = tree->inode;
 
-                       __entry->ino    = btrfs_ino(BTRFS_I(inode));
-                       __entry->rootid =
-                               BTRFS_I(inode)->root->root_key.objectid;
+                       __entry->ino    = btrfs_ino(inode);
+                       __entry->rootid = inode->root->root_key.objectid;
                } else {
                        __entry->ino    = 0;
                        __entry->rootid = 0;
@@ -2072,12 +2070,11 @@ TRACE_EVENT(btrfs_convert_extent_bit,
 
        TP_fast_assign_btrfs(tree->fs_info,
                __entry->owner = tree->owner;
-               if (tree->private_data) {
-                       const struct inode *inode = tree->private_data;
+               if (tree->inode) {
+                       const struct btrfs_inode *inode = tree->inode;
 
-                       __entry->ino    = btrfs_ino(BTRFS_I(inode));
-                       __entry->rootid =
-                               BTRFS_I(inode)->root->root_key.objectid;
+                       __entry->ino    = btrfs_ino(inode);
+                       __entry->rootid = inode->root->root_key.objectid;
                } else {
                        __entry->ino    = 0;
                        __entry->rootid = 0;