All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
To: linux-fsdevel@vger.kernel.org
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Subject: [PATCH 02/26] iomap: Convert to release_folio
Date: Sun,  8 May 2022 21:32:23 +0100	[thread overview]
Message-ID: <20220508203247.668791-3-willy@infradead.org> (raw)
In-Reply-To: <20220508203247.668791-1-willy@infradead.org>

Change all the filesystems which used iomap_releasepage to use the
new function.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
 fs/gfs2/aops.c         |  2 +-
 fs/iomap/buffered-io.c | 22 ++++++++++------------
 fs/iomap/trace.h       |  2 +-
 fs/xfs/xfs_aops.c      |  2 +-
 fs/zonefs/super.c      |  2 +-
 include/linux/iomap.h  |  2 +-
 6 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c
index 1016631bcbdc..3d6c5c5eb4f1 100644
--- a/fs/gfs2/aops.c
+++ b/fs/gfs2/aops.c
@@ -768,7 +768,7 @@ static const struct address_space_operations gfs2_aops = {
 	.read_folio = gfs2_read_folio,
 	.readahead = gfs2_readahead,
 	.dirty_folio = filemap_dirty_folio,
-	.releasepage = iomap_releasepage,
+	.release_folio = iomap_release_folio,
 	.invalidate_folio = iomap_invalidate_folio,
 	.bmap = gfs2_bmap,
 	.direct_IO = noop_direct_IO,
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index 2de087ac87b6..8532f0e2e2d6 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -452,25 +452,23 @@ bool iomap_is_partially_uptodate(struct folio *folio, size_t from, size_t count)
 }
 EXPORT_SYMBOL_GPL(iomap_is_partially_uptodate);
 
-int
-iomap_releasepage(struct page *page, gfp_t gfp_mask)
+bool iomap_release_folio(struct folio *folio, gfp_t gfp_flags)
 {
-	struct folio *folio = page_folio(page);
-
-	trace_iomap_releasepage(folio->mapping->host, folio_pos(folio),
+	trace_iomap_release_folio(folio->mapping->host, folio_pos(folio),
 			folio_size(folio));
 
 	/*
-	 * mm accommodates an old ext3 case where clean pages might not have had
-	 * the dirty bit cleared. Thus, it can send actual dirty pages to
-	 * ->releasepage() via shrink_active_list(); skip those here.
+	 * mm accommodates an old ext3 case where clean folios might
+	 * not have had the dirty bit cleared.  Thus, it can send actual
+	 * dirty folios to ->release_folio() via shrink_active_list();
+	 * skip those here.
 	 */
 	if (folio_test_dirty(folio) || folio_test_writeback(folio))
-		return 0;
+		return false;
 	iomap_page_release(folio);
-	return 1;
+	return true;
 }
-EXPORT_SYMBOL_GPL(iomap_releasepage);
+EXPORT_SYMBOL_GPL(iomap_release_folio);
 
 void iomap_invalidate_folio(struct folio *folio, size_t offset, size_t len)
 {
@@ -1483,7 +1481,7 @@ iomap_do_writepage(struct page *page, struct writeback_control *wbc, void *data)
 		 * Skip the page if it's fully outside i_size, e.g. due to a
 		 * truncate operation that's in progress. We must redirty the
 		 * page so that reclaim stops reclaiming it. Otherwise
-		 * iomap_vm_releasepage() is called on it and gets confused.
+		 * iomap_release_folio() is called on it and gets confused.
 		 *
 		 * Note that the end_index is unsigned long.  If the given
 		 * offset is greater than 16TB on a 32-bit system then if we
diff --git a/fs/iomap/trace.h b/fs/iomap/trace.h
index a6689a563c6e..d48868fc40d7 100644
--- a/fs/iomap/trace.h
+++ b/fs/iomap/trace.h
@@ -80,7 +80,7 @@ DEFINE_EVENT(iomap_range_class, name,	\
 	TP_PROTO(struct inode *inode, loff_t off, u64 len),\
 	TP_ARGS(inode, off, len))
 DEFINE_RANGE_EVENT(iomap_writepage);
-DEFINE_RANGE_EVENT(iomap_releasepage);
+DEFINE_RANGE_EVENT(iomap_release_folio);
 DEFINE_RANGE_EVENT(iomap_invalidate_folio);
 DEFINE_RANGE_EVENT(iomap_dio_invalidate_fail);
 
diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
index a9c4bb500d53..2acbfc6925dd 100644
--- a/fs/xfs/xfs_aops.c
+++ b/fs/xfs/xfs_aops.c
@@ -568,7 +568,7 @@ const struct address_space_operations xfs_address_space_operations = {
 	.readahead		= xfs_vm_readahead,
 	.writepages		= xfs_vm_writepages,
 	.dirty_folio		= filemap_dirty_folio,
-	.releasepage		= iomap_releasepage,
+	.release_folio		= iomap_release_folio,
 	.invalidate_folio	= iomap_invalidate_folio,
 	.bmap			= xfs_vm_bmap,
 	.direct_IO		= noop_direct_IO,
diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
index c3a38f711b24..b1a428f860b3 100644
--- a/fs/zonefs/super.c
+++ b/fs/zonefs/super.c
@@ -197,7 +197,7 @@ static const struct address_space_operations zonefs_file_aops = {
 	.writepage		= zonefs_writepage,
 	.writepages		= zonefs_writepages,
 	.dirty_folio		= filemap_dirty_folio,
-	.releasepage		= iomap_releasepage,
+	.release_folio		= iomap_release_folio,
 	.invalidate_folio	= iomap_invalidate_folio,
 	.migratepage		= iomap_migrate_page,
 	.is_partially_uptodate	= iomap_is_partially_uptodate,
diff --git a/include/linux/iomap.h b/include/linux/iomap.h
index 5b2aa45ddda3..0d674695b6d3 100644
--- a/include/linux/iomap.h
+++ b/include/linux/iomap.h
@@ -228,7 +228,7 @@ ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from,
 int iomap_read_folio(struct folio *folio, const struct iomap_ops *ops);
 void iomap_readahead(struct readahead_control *, const struct iomap_ops *ops);
 bool iomap_is_partially_uptodate(struct folio *, size_t from, size_t count);
-int iomap_releasepage(struct page *page, gfp_t gfp_mask);
+bool iomap_release_folio(struct folio *folio, gfp_t gfp_flags);
 void iomap_invalidate_folio(struct folio *folio, size_t offset, size_t len);
 #ifdef CONFIG_MIGRATION
 int iomap_migrate_page(struct address_space *mapping, struct page *newpage,
-- 
2.34.1


  parent reply	other threads:[~2022-05-08 20:33 UTC|newest]

Thread overview: 133+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-08 19:33 [GIT UPDATE] pagecache tree Matthew Wilcox
2022-05-08 20:28 ` [PATCH] Appoint myself page cache maintainer Matthew Wilcox (Oracle)
2022-05-08 23:16   ` Dave Chinner
2022-05-09  1:05     ` Darrick J. Wong
2022-05-09 10:28     ` Jeff Layton
2022-05-11 13:34   ` Christian Brauner
2022-05-12 13:48   ` Vlastimil Babka
2022-05-08 20:28 ` [PATCH] scsicam: Fix use of page cache Matthew Wilcox (Oracle)
2022-05-08 20:29 ` [PATCH 00/25] Remove AOP flags (and related cleanups) Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 01/25] ext4: Use page_symlink() instead of __page_symlink() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 02/25] namei: Merge page_symlink() and __page_symlink() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 03/25] namei: Convert page_symlink() to use memalloc_nofs_save() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 04/25] f2fs: Convert f2fs_grab_cache_page() to use scoped memory APIs Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 05/25] ext4: Allow GFP_FS allocations in ext4_da_convert_inline_data_to_extent() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 06/25] ext4: Use scoped memory API in mext_page_double_lock() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 07/25] ext4: Use scoped memory APIs in ext4_da_write_begin() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 08/25] ext4: Use scoped memory APIs in ext4_write_begin() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 09/25] fs: Remove AOP_FLAG_NOFS Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 10/25] fs: Remove aop_flags parameter from netfs_write_begin() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 11/25] fs: Remove aop flags parameter from block_write_begin() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 12/25] fs: Remove aop flags parameter from cont_write_begin() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 13/25] fs: Remove aop flags parameter from grab_cache_page_write_begin() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 14/25] fs: Remove aop flags parameter from nobh_write_begin() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 15/25] fs: Remove flags parameter from aops->write_begin Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 16/25] buffer: Call aops write_begin() and write_end() directly Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 17/25] namei: " Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 18/25] ntfs3: Call ntfs_write_begin() and ntfs_write_end() directly Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 19/25] ntfs3: Remove fsdata parameter from ntfs_extend_initialized_size() Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 20/25] hfs: Call hfs_write_begin() and generic_write_end() directly Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 21/25] hfsplus: Call hfsplus_write_begin() " Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 22/25] ext4: Call aops write_begin() and write_end() directly Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 23/25] f2fs: " Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 24/25] i915: " Matthew Wilcox (Oracle)
2022-05-08 20:29   ` [PATCH 25/25] fs: Remove pagecache_write_begin() and pagecache_write_end() Matthew Wilcox (Oracle)
2022-05-08 20:30 ` [PATCH 0/3] Pagecache documentation updates Matthew Wilcox (Oracle)
2022-05-08 20:30   ` [PATCH 1/3] filemap: Remove obsolete comment in lock_page Matthew Wilcox (Oracle)
2022-05-09  3:21     ` Miaohe Lin
2022-05-08 20:30   ` [PATCH 2/3] filemap: Update the folio_lock documentation Matthew Wilcox (Oracle)
2022-05-08 20:30   ` [PATCH 3/3] filemap: Update the folio_mark_dirty documentation Matthew Wilcox (Oracle)
2022-05-08 20:30 ` [PATCH 00/37] Convert aops->read_page to aops->read_folio Matthew Wilcox (Oracle)
2022-05-08 20:30   ` [PATCH 01/37] fs: Introduce aops->read_folio Matthew Wilcox (Oracle)
2022-05-08 20:30   ` [PATCH 02/37] fs: Add read_folio documentation Matthew Wilcox (Oracle)
2022-05-08 20:30   ` [PATCH 03/37] fs: Convert netfs_readpage to netfs_read_folio Matthew Wilcox (Oracle)
2022-05-08 20:30   ` [PATCH 04/37] fs: Convert iomap_readpage to iomap_read_folio Matthew Wilcox (Oracle)
2022-05-08 20:30   ` [PATCH 05/37] fs: Convert block_read_full_page() to block_read_full_folio() Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 06/37] fs: Convert mpage_readpage to mpage_read_folio Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 07/37] fs: Convert simple_readpage to simple_read_folio Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 08/37] affs: Convert affs to read_folio Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 09/37] afs: Convert afs_symlink_readpage to afs_symlink_read_folio Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 10/37] befs: Convert befs to read_folio Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 11/37] btrfs: Convert btrfs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 12/37] cifs: Convert cifs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 13/37] coda: Convert coda " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 14/37] cramfs: Convert cramfs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 15/37] ecryptfs: Convert ecryptfs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 16/37] efs: Convert efs symlinks " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 17/37] erofs: Convert erofs zdata " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 18/37] ext4: Convert ext4 " Matthew Wilcox (Oracle)
2022-05-09 13:30     ` Theodore Ts'o
2022-05-09 14:07       ` Matthew Wilcox
2022-05-09 20:16         ` Theodore Ts'o
2022-05-09 21:07           ` Matthew Wilcox
2022-05-08 20:31   ` [PATCH 19/37] f2fs: Convert f2fs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 20/37] freevxfs: Convert vxfs_immed " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 21/37] fuse: Convert fuse " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 22/37] hostfs: Convert hostfs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 23/37] hpfs: Convert symlinks " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 24/37] isofs: Convert symlinks and zisofs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 25/37] jffs2: Convert jffs2 " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 26/37] jfs: Convert metadata pages " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 27/37] nfs: Convert nfs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 28/37] ntfs: Convert ntfs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 29/37] ocfs2: Convert ocfs2 " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 30/37] orangefs: Convert orangefs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 31/37] romfs: Convert romfs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 32/37] squashfs: Convert squashfs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 33/37] ubifs: Convert ubifs " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 34/37] udf: Convert adinicb and symlinks " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 35/37] vboxsf: Convert vboxsf " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 36/37] mm: Convert swap_readpage to call read_folio instead of readpage Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 37/37] mm,fs: Remove aops->readpage Matthew Wilcox (Oracle)
2022-05-08 20:31 ` [PATCH 0/4] Miscellaneous folio conversions Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 1/4] readahead: Use a folio in read_pages() Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 2/4] fs: Convert is_dirty_writeback() to take a folio Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 3/4] mm/readahead: Convert page_cache_async_readahead " Matthew Wilcox (Oracle)
2022-05-08 20:31   ` [PATCH 4/4] buffer: Rewrite nobh_truncate_page() to use folios Matthew Wilcox (Oracle)
2022-05-08 20:32 ` [PATCH 00/26] Convert aops->releasepage to aops->release_folio Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 01/26] fs: Add aops->release_folio Matthew Wilcox (Oracle)
2022-05-09 10:33     ` Jeff Layton
2022-05-09 12:23       ` Matthew Wilcox
2022-05-08 20:32   ` Matthew Wilcox (Oracle) [this message]
2022-05-08 20:32   ` [PATCH 03/26] 9p: Convert to release_folio Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 04/26] afs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 05/26] btrfs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 06/26] ceph: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 07/26] cifs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 08/26] erofs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 09/26] ext4: " Matthew Wilcox (Oracle)
2022-05-09 13:14     ` Theodore Ts'o
2022-05-08 20:32   ` [PATCH 10/26] f2fs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 11/26] gfs2: " Matthew Wilcox (Oracle)
2022-05-09 12:24     ` Bob Peterson
2022-05-08 20:32   ` [PATCH 12/26] hfs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 13/26] hfsplus: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 14/26] jfs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 15/26] nfs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 16/26] nilfs2: Remove comment about releasepage Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 17/26] ocfs2: Convert to release_folio Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 18/26] orangefs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 19/26] reiserfs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 20/26] ubifs: " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 21/26] fs: Remove last vestiges of releasepage Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 22/26] reiserfs: Convert release_buffer_page() to use a folio Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 23/26] jbd2: Convert jbd2_journal_try_to_free_buffers to take " Matthew Wilcox (Oracle)
2022-05-09 13:17     ` Theodore Ts'o
2022-05-08 20:32   ` [PATCH 24/26] jbd2: Convert release_buffer_page() to use " Matthew Wilcox (Oracle)
2022-05-09 13:23     ` Theodore Ts'o
2022-05-09 13:48       ` Matthew Wilcox
2022-05-08 20:32   ` [PATCH 25/26] fs: Change try_to_free_buffers() to take " Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 26/26] fs: Convert drop_buffers() to use " Matthew Wilcox (Oracle)
2022-05-09 10:34   ` [PATCH 00/26] Convert aops->releasepage to aops->release_folio Jeff Layton
2022-05-08 20:32 ` [PATCH 0/4] Unify filler_t and aops->read_folio Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 1/4] jffs2: Pass the file pointer to jffs2_do_readpage_unlock() Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 2/4] nfs: Pass the file pointer to nfs_symlink_filler() Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 3/4] fs: Change the type of filler_t Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 4/4] mm/filemap: Hoist filler_t decision to the top of do_read_cache_folio() Matthew Wilcox (Oracle)
2022-05-08 20:32 ` [PATCH 0/5] Convert aops->freepage to aops->free_folio Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 1/5] fs: Add free_folio address space operation Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 2/5] orangefs: Convert to free_folio Matthew Wilcox (Oracle)
2022-05-08 20:32   ` [PATCH 3/5] nfs: " Matthew Wilcox (Oracle)
2022-05-08 20:33   ` [PATCH 4/5] secretmem: " Matthew Wilcox (Oracle)
2022-05-08 20:33   ` [PATCH 5/5] fs: Remove aops->freepage Matthew Wilcox (Oracle)
  -- strict thread matches above, loose matches on Subject: below --
2022-05-02  5:55 [PATCH 00/26] Converting release_page to release_folio Matthew Wilcox (Oracle)
2022-05-02  5:55 ` [PATCH 02/26] iomap: Convert " Matthew Wilcox (Oracle)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220508203247.668791-3-willy@infradead.org \
    --to=willy@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --subject='Re: [PATCH 02/26] iomap: Convert to release_folio' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.