btrfs: convert clear_page_extent_mapped() to take a folio
authorLi Zetao <lizetao1@huawei.com>
Wed, 28 Aug 2024 18:28:55 +0000 (02:28 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 10 Sep 2024 14:51:20 +0000 (16:51 +0200)
The old page API is being gradually replaced and converted to use folio
to improve code readability and avoid repeated conversion between page
and folio. Now clear_page_extent_mapped() can deal with a folio
directly, so change its name to clear_folio_extent_mapped().

Signed-off-by: Li Zetao <lizetao1@huawei.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/inode.c

index bd1a7b2fc71ad6adb59e9123ec78f77f32d3ccdd..8b5f36474ae157094c75bf722b1eb2e4110ea2f7 100644 (file)
@@ -877,18 +877,17 @@ int set_folio_extent_mapped(struct folio *folio)
        return 0;
 }
 
-void clear_page_extent_mapped(struct page *page)
+void clear_folio_extent_mapped(struct folio *folio)
 {
-       struct folio *folio = page_folio(page);
        struct btrfs_fs_info *fs_info;
 
-       ASSERT(page->mapping);
+       ASSERT(folio->mapping);
 
        if (!folio_test_private(folio))
                return;
 
-       fs_info = page_to_fs_info(page);
-       if (btrfs_is_subpage(fs_info, page->mapping))
+       fs_info = folio_to_fs_info(folio);
+       if (btrfs_is_subpage(fs_info, folio->mapping))
                return btrfs_detach_subpage(fs_info, folio);
 
        folio_detach_private(folio);
index b38460279b9932e85f98220afc4a930411ec6f3c..1d9b30021109b9a8c728f662883d9c74385c8754 100644 (file)
@@ -249,7 +249,7 @@ int btree_write_cache_pages(struct address_space *mapping,
 void btrfs_readahead(struct readahead_control *rac);
 int set_folio_extent_mapped(struct folio *folio);
 int set_page_extent_mapped(struct page *page);
-void clear_page_extent_mapped(struct page *page);
+void clear_folio_extent_mapped(struct folio *folio);
 
 struct extent_buffer *alloc_extent_buffer(struct btrfs_fs_info *fs_info,
                                          u64 start, u64 owner_root, int level);
index e96b63d7e8fd38c891c2fda412d2fc841d8b2531..5e3c772eed2b432b061ad3b4926da7184aa67a71 100644 (file)
@@ -7240,7 +7240,7 @@ static bool __btrfs_release_folio(struct folio *folio, gfp_t gfp_flags)
 {
        if (try_release_extent_mapping(&folio->page, gfp_flags)) {
                wait_subpage_spinlock(folio);
-               clear_page_extent_mapped(&folio->page);
+               clear_folio_extent_mapped(folio);
                return true;
        }
        return false;
@@ -7438,7 +7438,7 @@ next:
        btrfs_folio_clear_checked(fs_info, folio, folio_pos(folio), folio_size(folio));
        if (!inode_evicting)
                __btrfs_release_folio(folio, GFP_NOFS);
-       clear_page_extent_mapped(&folio->page);
+       clear_folio_extent_mapped(folio);
 }
 
 static int btrfs_truncate(struct btrfs_inode *inode, bool skip_writeback)