]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
btrfs: pass the extent map tree's inode to replace_extent_mapping()
authorFilipe Manana <fdmanana@suse.com>
Thu, 21 Mar 2024 16:07:26 +0000 (16:07 +0000)
committerDavid Sterba <dsterba@suse.com>
Tue, 7 May 2024 19:31:06 +0000 (21:31 +0200)
Extent maps are always associated to an inode's extent map tree, so
there's no need to pass the extent map tree explicitly to
replace_extent_mapping().

In order to facilitate an upcoming change that adds a shrinker for extent
maps, change replace_extent_mapping() to receive the inode instead of its
extent map tree.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_map.c

index 2b7e3666ebd39a3b9c753e7fe6bca8184c1466fa..66f50ebcb98a04af03671e39dec7aa7c6978e0f3 100644 (file)
@@ -470,11 +470,13 @@ void remove_extent_mapping(struct btrfs_inode *inode, struct extent_map *em)
        RB_CLEAR_NODE(&em->rb_node);
 }
 
-static void replace_extent_mapping(struct extent_map_tree *tree,
+static void replace_extent_mapping(struct btrfs_inode *inode,
                                   struct extent_map *cur,
                                   struct extent_map *new,
                                   int modified)
 {
+       struct extent_map_tree *tree = &inode->extent_tree;
+
        lockdep_assert_held_write(&tree->lock);
 
        WARN_ON(cur->flags & EXTENT_FLAG_PINNED);
@@ -777,7 +779,7 @@ void btrfs_drop_extent_map_range(struct btrfs_inode *inode, u64 start, u64 end,
 
                        split->generation = gen;
                        split->flags = flags;
-                       replace_extent_mapping(em_tree, em, split, modified);
+                       replace_extent_mapping(inode, em, split, modified);
                        free_extent_map(split);
                        split = split2;
                        split2 = NULL;
@@ -818,8 +820,7 @@ void btrfs_drop_extent_map_range(struct btrfs_inode *inode, u64 start, u64 end,
                        }
 
                        if (extent_map_in_tree(em)) {
-                               replace_extent_mapping(em_tree, em, split,
-                                                      modified);
+                               replace_extent_mapping(inode, em, split, modified);
                        } else {
                                int ret;
 
@@ -977,7 +978,7 @@ int split_extent_map(struct btrfs_inode *inode, u64 start, u64 len, u64 pre,
        split_pre->flags = flags;
        split_pre->generation = em->generation;
 
-       replace_extent_mapping(em_tree, em, split_pre, 1);
+       replace_extent_mapping(inode, em, split_pre, 1);
 
        /*
         * Now we only have an extent_map at: