]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: replace __free_page with folio_put() in attach_eb_folio_to_filemap()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Fri, 22 May 2026 18:14:08 +0000 (19:14 +0100)
committerJohannes Thumshirn <johannes.thumshirn@wdc.com>
Tue, 9 Jun 2026 16:22:44 +0000 (18:22 +0200)
Calling __free_page() on folio_page() happens to work today, but
won't always.  Besides, it's far simpler to call folio_put().

Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Tested-by: Boris Burkov <boris@bur.io>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c

index b03eb211def70079aa25835c0f74d11221584c8b..b7e3e83838d801be693e85bc743db7004e3ec773 100644 (file)
@@ -3400,8 +3400,8 @@ retry:
 finish:
        spin_lock(&mapping->i_private_lock);
        if (existing_folio && btrfs_meta_is_subpage(fs_info)) {
-               /* We're going to reuse the existing page, can drop our folio now. */
-               __free_page(folio_page(eb->folios[i], 0));
+               /* We're going to reuse the existing folio, can drop our folio now. */
+               folio_put(eb->folios[i]);
                eb->folios[i] = existing_folio;
        } else if (existing_folio) {
                struct extent_buffer *existing_eb;
@@ -3416,7 +3416,7 @@ finish:
                        return 1;
                }
                /* The extent buffer no longer exists, we can reuse the folio. */
-               __free_page(folio_page(eb->folios[i], 0));
+               folio_put(eb->folios[i]);
                eb->folios[i] = existing_folio;
        }
        eb->folio_size = folio_size(eb->folios[i]);