Skip to content

Commit 5fa8a6b

Browse files
fdmananakdave
authored andcommitted
btrfs: pass the extent map tree's inode to try_merge_map()
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 try_merge_map(). In order to facilitate an upcoming change that adds a shrinker for extent maps, change try_merge_map() to receive the inode instead of its extent map tree. Reviewed-by: Qu Wenruo <[email protected]> Reviewed-by: Josef Bacik <[email protected]> Signed-off-by: Filipe Manana <[email protected]> Reviewed-by: David Sterba <[email protected]> Signed-off-by: David Sterba <[email protected]>
1 parent e778724 commit 5fa8a6b

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

fs/btrfs/extent_map.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,9 @@ static bool mergeable_maps(const struct extent_map *prev, const struct extent_ma
223223
return next->block_start == prev->block_start;
224224
}
225225

226-
static void try_merge_map(struct extent_map_tree *tree, struct extent_map *em)
226+
static void try_merge_map(struct btrfs_inode *inode, struct extent_map *em)
227227
{
228+
struct extent_map_tree *tree = &inode->extent_tree;
228229
struct extent_map *merge = NULL;
229230
struct rb_node *rb;
230231

@@ -322,7 +323,7 @@ int unpin_extent_cache(struct btrfs_inode *inode, u64 start, u64 len, u64 gen)
322323
em->generation = gen;
323324
em->flags &= ~EXTENT_FLAG_PINNED;
324325

325-
try_merge_map(tree, em);
326+
try_merge_map(inode, em);
326327

327328
out:
328329
write_unlock(&tree->lock);
@@ -333,13 +334,11 @@ int unpin_extent_cache(struct btrfs_inode *inode, u64 start, u64 len, u64 gen)
333334

334335
void clear_em_logging(struct btrfs_inode *inode, struct extent_map *em)
335336
{
336-
struct extent_map_tree *tree = &inode->extent_tree;
337-
338-
lockdep_assert_held_write(&tree->lock);
337+
lockdep_assert_held_write(&inode->extent_tree.lock);
339338

340339
em->flags &= ~EXTENT_FLAG_LOGGING;
341340
if (extent_map_in_tree(em))
342-
try_merge_map(tree, em);
341+
try_merge_map(inode, em);
343342
}
344343

345344
static inline void setup_extent_mapping(struct btrfs_inode *inode,
@@ -353,7 +352,7 @@ static inline void setup_extent_mapping(struct btrfs_inode *inode,
353352
if (modified)
354353
list_add(&em->list, &inode->extent_tree.modified_extents);
355354
else
356-
try_merge_map(&inode->extent_tree, em);
355+
try_merge_map(inode, em);
357356
}
358357

359358
/*

0 commit comments

Comments
 (0)