Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ext4: Convert to release_folio

The use of folios should be pushed deeper into ext4 from here.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jeff Layton <jlayton@kernel.org>

+10 -10
+10 -10
fs/ext4/inode.c
··· 3243 3243 WARN_ON(__ext4_journalled_invalidate_folio(folio, offset, length) < 0); 3244 3244 } 3245 3245 3246 - static int ext4_releasepage(struct page *page, gfp_t wait) 3246 + static bool ext4_release_folio(struct folio *folio, gfp_t wait) 3247 3247 { 3248 - journal_t *journal = EXT4_JOURNAL(page->mapping->host); 3248 + journal_t *journal = EXT4_JOURNAL(folio->mapping->host); 3249 3249 3250 - trace_ext4_releasepage(page); 3250 + trace_ext4_releasepage(&folio->page); 3251 3251 3252 3252 /* Page has dirty journalled data -> cannot release */ 3253 - if (PageChecked(page)) 3254 - return 0; 3253 + if (folio_test_checked(folio)) 3254 + return false; 3255 3255 if (journal) 3256 - return jbd2_journal_try_to_free_buffers(journal, page); 3256 + return jbd2_journal_try_to_free_buffers(journal, &folio->page); 3257 3257 else 3258 - return try_to_free_buffers(page); 3258 + return try_to_free_buffers(&folio->page); 3259 3259 } 3260 3260 3261 3261 static bool ext4_inode_datasync_dirty(struct inode *inode) ··· 3618 3618 .dirty_folio = ext4_dirty_folio, 3619 3619 .bmap = ext4_bmap, 3620 3620 .invalidate_folio = ext4_invalidate_folio, 3621 - .releasepage = ext4_releasepage, 3621 + .release_folio = ext4_release_folio, 3622 3622 .direct_IO = noop_direct_IO, 3623 3623 .migratepage = buffer_migrate_page, 3624 3624 .is_partially_uptodate = block_is_partially_uptodate, ··· 3636 3636 .dirty_folio = ext4_journalled_dirty_folio, 3637 3637 .bmap = ext4_bmap, 3638 3638 .invalidate_folio = ext4_journalled_invalidate_folio, 3639 - .releasepage = ext4_releasepage, 3639 + .release_folio = ext4_release_folio, 3640 3640 .direct_IO = noop_direct_IO, 3641 3641 .is_partially_uptodate = block_is_partially_uptodate, 3642 3642 .error_remove_page = generic_error_remove_page, ··· 3653 3653 .dirty_folio = ext4_dirty_folio, 3654 3654 .bmap = ext4_bmap, 3655 3655 .invalidate_folio = ext4_invalidate_folio, 3656 - .releasepage = ext4_releasepage, 3656 + .release_folio = ext4_release_folio, 3657 3657 .direct_IO = noop_direct_IO, 3658 3658 .migratepage = buffer_migrate_page, 3659 3659 .is_partially_uptodate = block_is_partially_uptodate,