Commit c33ad3b2 authored by Gao Xiang's avatar Gao Xiang
Browse files

erofs: adapt folios for z_erofs_read_folio()



It's a straight-forward conversion and no logic changes (except that
it renames the corresponding tracepoint.)

Reviewed-by: default avatarChao Yu <chao@kernel.org>
Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20230817083942.103303-1-hsiangkao@linux.alibaba.com
parent 491b1105
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -1822,17 +1822,16 @@ static void z_erofs_pcluster_readmore(struct z_erofs_decompress_frontend *f,

static int z_erofs_read_folio(struct file *file, struct folio *folio)
{
	struct page *page = &folio->page;
	struct inode *const inode = page->mapping->host;
	struct inode *const inode = folio->mapping->host;
	struct erofs_sb_info *const sbi = EROFS_I_SB(inode);
	struct z_erofs_decompress_frontend f = DECOMPRESS_FRONTEND_INIT(inode);
	int err;

	trace_erofs_readpage(page, false);
	f.headoffset = (erofs_off_t)page->index << PAGE_SHIFT;
	trace_erofs_read_folio(folio, false);
	f.headoffset = (erofs_off_t)folio->index << PAGE_SHIFT;

	z_erofs_pcluster_readmore(&f, NULL, true);
	err = z_erofs_do_read_page(&f, page);
	err = z_erofs_do_read_page(&f, &folio->page);
	z_erofs_pcluster_readmore(&f, NULL, false);
	z_erofs_pcluster_end(&f);

+8 −8
Original line number Diff line number Diff line
@@ -80,11 +80,11 @@ TRACE_EVENT(erofs_fill_inode,
		  __entry->blkaddr, __entry->ofs)
);

TRACE_EVENT(erofs_readpage,
TRACE_EVENT(erofs_read_folio,

	TP_PROTO(struct page *page, bool raw),
	TP_PROTO(struct folio *folio, bool raw),

	TP_ARGS(page, raw),
	TP_ARGS(folio, raw),

	TP_STRUCT__entry(
		__field(dev_t,		dev	)
@@ -96,11 +96,11 @@ TRACE_EVENT(erofs_readpage,
	),

	TP_fast_assign(
		__entry->dev	= page->mapping->host->i_sb->s_dev;
		__entry->nid	= EROFS_I(page->mapping->host)->nid;
		__entry->dir	= S_ISDIR(page->mapping->host->i_mode);
		__entry->index	= page->index;
		__entry->uptodate = PageUptodate(page);
		__entry->dev	= folio->mapping->host->i_sb->s_dev;
		__entry->nid	= EROFS_I(folio->mapping->host)->nid;
		__entry->dir	= S_ISDIR(folio->mapping->host->i_mode);
		__entry->index	= folio->index;
		__entry->uptodate = folio_test_uptodate(folio);
		__entry->raw = raw;
	),