The patch titled Subject: ocfs2: convert ocfs2_clear_page_regions() to ocfs2_clear_folio_regions() has been added to the -mm mm-nonmm-unstable branch. Its filename is ocfs2-convert-ocfs2_clear_page_regions-to-ocfs2_clear_folio_regions.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/ocfs2-convert-ocfs2_clear_page_regions-to-ocfs2_clear_folio_regions.patch This patch will later appear in the mm-nonmm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Mark Tinguely <mark.tinguely@xxxxxxxxxx> Subject: ocfs2: convert ocfs2_clear_page_regions() to ocfs2_clear_folio_regions() Date: Thu, 5 Dec 2024 17:16:43 +0000 Pass in and use the folio instead of its page. Link: https://lkml.kernel.org/r/20241205171653.3179945-16-willy@xxxxxxxxxxxxx Signed-off-by: Mark Tinguely <mark.tinguely@xxxxxxxxxx> Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxxxxxxxxx> Cc: Changwei Ge <gechangwei@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Jun Piao <piaojun@xxxxxxxxxx> Cc: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Mark Fasheh <mark@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/ocfs2/aops.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) --- a/fs/ocfs2/aops.c~ocfs2-convert-ocfs2_clear_page_regions-to-ocfs2_clear_folio_regions +++ a/fs/ocfs2/aops.c @@ -534,7 +534,7 @@ static void ocfs2_figure_cluster_boundar * * from == to == 0 is code for "zero the entire cluster region" */ -static void ocfs2_clear_page_regions(struct page *page, +static void ocfs2_clear_folio_regions(struct folio *folio, struct ocfs2_super *osb, u32 cpos, unsigned from, unsigned to) { @@ -543,7 +543,7 @@ static void ocfs2_clear_page_regions(str ocfs2_figure_cluster_boundaries(osb, cpos, &cluster_start, &cluster_end); - kaddr = kmap_atomic(page); + kaddr = kmap_local_folio(folio, 0); if (from || to) { if (from > cluster_start) @@ -554,7 +554,7 @@ static void ocfs2_clear_page_regions(str memset(kaddr + cluster_start, 0, cluster_end - cluster_start); } - kunmap_atomic(kaddr); + kunmap_local(kaddr); } /* @@ -950,7 +950,6 @@ static int ocfs2_prepare_folio_for_write struct ocfs2_write_ctxt *wc, struct folio *folio, u32 cpos, loff_t user_pos, unsigned user_len, int new) { - struct page *page = &folio->page; int ret; unsigned int map_from = 0, map_to = 0; unsigned int cluster_start, cluster_end; @@ -1016,7 +1015,7 @@ static int ocfs2_prepare_folio_for_write * been zero'd from being read in as a hole. */ if (new && !folio_test_uptodate(folio)) - ocfs2_clear_page_regions(page, OCFS2_SB(inode->i_sb), + ocfs2_clear_folio_regions(folio, OCFS2_SB(inode->i_sb), cpos, user_data_from, user_data_to); flush_dcache_folio(folio); _ Patches currently in -mm which might be from mark.tinguely@xxxxxxxxxx are ocfs2-convert-w_target_page-to-w_target_folio.patch ocfs2-use-a-folio-in-ocfs2_zero_new_buffers.patch ocfs2-use-a-folio-in-ocfs2_write_begin_inline.patch ocfs2-convert-ocfs2_readpage_inline-to-take-a-folio.patch ocfs2-convert-ocfs2_inode_lock_with_page-to-ocfs2_inode_lock_with_folio.patch ocfs2-convert-w_pages-to-w_folios.patch ocfs2-convert-ocfs2_write_failure-to-use-a-folio.patch ocfs2-use-a-folio-in-ocfs2_write_end_nolock.patch ocfs2-use-a-folio-in-ocfs2_prepare_page_for_write.patch ocfs2-use-a-folio-in-ocfs2_map_and_dirty_page.patch ocfs2-convert-ocfs2_map_page_blocks-to-ocfs2_map_folio_blocks.patch ocfs2-convert-ocfs2_clear_page_regions-to-ocfs2_clear_folio_regions.patch ocfs2-use-an-array-of-folios-instead-of-an-array-of-pages.patch ocfs2-convert-ocfs2_duplicate_clusters_by_page-to-use-a-folio.patch ocfs2-convert-ocfs2_map_and_dirty_page-to-ocfs2_map_and_dirty_folio.patch ocfs2-support-large-folios-in-ocfs2_zero_cluster_folios.patch ocfs2-support-large-folios-in-ocfs2_write_zero_page.patch