Commit 4d434f53 authored by Mark Tinguely's avatar Mark Tinguely Committed by Andrew Morton
Browse files

ocfs2: convert ocfs2_clear_page_regions() to ocfs2_clear_folio_regions()

Pass in and use the folio instead of its page.

Link: https://lkml.kernel.org/r/20241205171653.3179945-16-willy@infradead.org


Signed-off-by: default avatarMark Tinguely <mark.tinguely@oracle.com>
Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Jun Piao <piaojun@huawei.com>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Mark Fasheh <mark@fasheh.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 0313500d
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -534,7 +534,7 @@ static void ocfs2_figure_cluster_boundaries(struct ocfs2_super *osb,
 *
 * 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(struct page *page,

	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(struct page *page,
		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 inode *inode, u64 *p_blkno,
		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(struct inode *inode, u64 *p_blkno,
	 * 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);