]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: pass the extent map tree's inode to clear_em_logging()
authorFilipe Manana <fdmanana@suse.com>
Thu, 21 Mar 2024 11:34:55 +0000 (11:34 +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
clear_em_logging().

In order to facilitate an upcoming change that adds a shrinker for extent
maps, change clear_em_logging() 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
fs/btrfs/extent_map.h
fs/btrfs/tree-log.c

index c0846eed2fb2379194ad65f0c0e2446a0e312e9b..40f5a99ab3821f12ebc81b500b8e11ffe57445cd 100644 (file)
@@ -331,8 +331,10 @@ out:
 
 }
 
-void clear_em_logging(struct extent_map_tree *tree, struct extent_map *em)
+void clear_em_logging(struct btrfs_inode *inode, struct extent_map *em)
 {
+       struct extent_map_tree *tree = &inode->extent_tree;
+
        lockdep_assert_held_write(&tree->lock);
 
        em->flags &= ~EXTENT_FLAG_LOGGING;
index f287ab46e3686c722f9153b27b826ad49b630154..732fc8d7e53424686a00f69cb1eecd338d4d2958 100644 (file)
@@ -129,7 +129,7 @@ void free_extent_map(struct extent_map *em);
 int __init extent_map_init(void);
 void __cold extent_map_exit(void);
 int unpin_extent_cache(struct btrfs_inode *inode, u64 start, u64 len, u64 gen);
-void clear_em_logging(struct extent_map_tree *tree, struct extent_map *em);
+void clear_em_logging(struct btrfs_inode *inode, struct extent_map *em);
 struct extent_map *search_extent_mapping(struct extent_map_tree *tree,
                                         u64 start, u64 len);
 int btrfs_add_extent_mapping(struct btrfs_inode *inode,
index a4e73081d477c5a82bb327ff954883b61de3c11e..5146387b416bfef5de320d8cba38a1e525df7958 100644 (file)
@@ -4949,7 +4949,7 @@ process:
                 * private list.
                 */
                if (ret) {
-                       clear_em_logging(tree, em);
+                       clear_em_logging(inode, em);
                        free_extent_map(em);
                        continue;
                }
@@ -4958,7 +4958,7 @@ process:
 
                ret = log_one_extent(trans, inode, em, path, ctx);
                write_lock(&tree->lock);
-               clear_em_logging(tree, em);
+               clear_em_logging(inode, em);
                free_extent_map(em);
        }
        WARN_ON(!list_empty(&extents));