Commit 471859f5 authored by Andreas Gruenbacher's avatar Andreas Gruenbacher Committed by Darrick J. Wong
Browse files

iomap: Rename page_ops to folio_ops



The operations in struct page_ops all operate on folios, so rename
struct page_ops to struct folio_ops.

Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
[djwong: port around not removing iomap_valid]
Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
parent c82abc23
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -997,7 +997,7 @@ static void gfs2_iomap_put_folio(struct inode *inode, loff_t pos,
	gfs2_trans_end(sdp);
}

static const struct iomap_page_ops gfs2_iomap_page_ops = {
static const struct iomap_folio_ops gfs2_iomap_folio_ops = {
	.get_folio = gfs2_iomap_get_folio,
	.put_folio = gfs2_iomap_put_folio,
};
@@ -1075,7 +1075,7 @@ static int gfs2_iomap_begin_write(struct inode *inode, loff_t pos,
	}

	if (gfs2_is_stuffed(ip) || gfs2_is_jdata(ip))
		iomap->page_ops = &gfs2_iomap_page_ops;
		iomap->folio_ops = &gfs2_iomap_folio_ops;
	return 0;

out_trans_end:
+10 −10
Original line number Diff line number Diff line
@@ -605,10 +605,10 @@ static int __iomap_write_begin(const struct iomap_iter *iter, loff_t pos,
static struct folio *__iomap_get_folio(struct iomap_iter *iter, loff_t pos,
		size_t len)
{
	const struct iomap_page_ops *page_ops = iter->iomap.page_ops;
	const struct iomap_folio_ops *folio_ops = iter->iomap.folio_ops;

	if (page_ops && page_ops->get_folio)
		return page_ops->get_folio(iter, pos, len);
	if (folio_ops && folio_ops->get_folio)
		return folio_ops->get_folio(iter, pos, len);
	else
		return iomap_get_folio(iter, pos);
}
@@ -616,10 +616,10 @@ static struct folio *__iomap_get_folio(struct iomap_iter *iter, loff_t pos,
static void __iomap_put_folio(struct iomap_iter *iter, loff_t pos, size_t ret,
		struct folio *folio)
{
	const struct iomap_page_ops *page_ops = iter->iomap.page_ops;
	const struct iomap_folio_ops *folio_ops = iter->iomap.folio_ops;

	if (page_ops && page_ops->put_folio) {
		page_ops->put_folio(iter->inode, pos, ret, folio);
	if (folio_ops && folio_ops->put_folio) {
		folio_ops->put_folio(iter->inode, pos, ret, folio);
	} else {
		folio_unlock(folio);
		folio_put(folio);
@@ -638,7 +638,7 @@ static int iomap_write_begin_inline(const struct iomap_iter *iter,
static int iomap_write_begin(struct iomap_iter *iter, loff_t pos,
		size_t len, struct folio **foliop)
{
	const struct iomap_page_ops *page_ops = iter->iomap.page_ops;
	const struct iomap_folio_ops *folio_ops = iter->iomap.folio_ops;
	const struct iomap *srcmap = iomap_iter_srcmap(iter);
	struct folio *folio;
	int status = 0;
@@ -667,8 +667,8 @@ static int iomap_write_begin(struct iomap_iter *iter, loff_t pos,
	 * could do the wrong thing here (zero a page range incorrectly or fail
	 * to zero) and corrupt data.
	 */
	if (page_ops && page_ops->iomap_valid) {
		bool iomap_valid = page_ops->iomap_valid(iter->inode,
	if (folio_ops && folio_ops->iomap_valid) {
		bool iomap_valid = folio_ops->iomap_valid(iter->inode,
							 &iter->iomap);
		if (!iomap_valid) {
			iter->iomap.flags |= IOMAP_F_STALE;
+2 −2
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ xfs_iomap_valid(
	return true;
}

static const struct iomap_page_ops xfs_iomap_page_ops = {
static const struct iomap_folio_ops xfs_iomap_folio_ops = {
	.iomap_valid		= xfs_iomap_valid,
};

@@ -133,7 +133,7 @@ xfs_bmbt_to_iomap(
		iomap->flags |= IOMAP_F_DIRTY;

	iomap->validity_cookie = sequence_cookie;
	iomap->page_ops = &xfs_iomap_page_ops;
	iomap->folio_ops = &xfs_iomap_folio_ops;
	return 0;
}

+4 −4
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ struct vm_fault;
 */
#define IOMAP_NULL_ADDR -1ULL	/* addr is not valid */

struct iomap_page_ops;
struct iomap_folio_ops;

struct iomap {
	u64			addr; /* disk offset of mapping, bytes */
@@ -98,7 +98,7 @@ struct iomap {
	struct dax_device	*dax_dev; /* dax_dev for dax operations */
	void			*inline_data;
	void			*private; /* filesystem private */
	const struct iomap_page_ops *page_ops;
	const struct iomap_folio_ops *folio_ops;
	u64			validity_cookie; /* used with .iomap_valid() */
};

@@ -126,7 +126,7 @@ static inline bool iomap_inline_data_valid(const struct iomap *iomap)
}

/*
 * When a filesystem sets page_ops in an iomap mapping it returns, get_folio
 * When a filesystem sets folio_ops in an iomap mapping it returns, get_folio
 * and put_folio will be called for each folio written to.  This only applies
 * to buffered writes as unbuffered writes will not typically have folios
 * associated with them.
@@ -135,7 +135,7 @@ static inline bool iomap_inline_data_valid(const struct iomap *iomap)
 * cleanup work necessary.  put_folio is responsible for unlocking and putting
 * @folio.
 */
struct iomap_page_ops {
struct iomap_folio_ops {
	struct folio *(*get_folio)(struct iomap_iter *iter, loff_t pos,
			unsigned len);
	void (*put_folio)(struct inode *inode, loff_t pos, unsigned copied,