mbox series

[RFC,v3,0/7] Turn iomap_page_ops into iomap_folio_ops

Message ID 20221216150626.670312-1-agruenba@redhat.com (mailing list archive)
Headers show
Series Turn iomap_page_ops into iomap_folio_ops | expand

Message

Andreas Gruenbacher Dec. 16, 2022, 3:06 p.m. UTC
This is an updated proposal for changing the iomap page_ops operations
to make them more flexible so that they better suite the filesystem
needs.  It closes a race on gfs2 and cleans up the recent iomap changes
merged in the following upstream commit:

87be949912ee ("Merge tag 'xfs-6.2-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux")

The first patch introduces a folio_may_straddle_isize() helper as a
replacement for pagecache_isize_extended() when we have a locked folio.
This still needs independent verification, but it looks like a
worthwhile improvement to me.  I've left it in this patch queue for now,
but I can moved out of the way if prefered.

Any thoughts?

Thanks,
Andreas

Andreas Gruenbacher (7):
  fs: Add folio_may_straddle_isize helper
  iomap: Add iomap_folio_done helper
  iomap/gfs2: Unlock and put folio in page_done handler
  iomap: Add iomap_folio_prepare helper
  iomap: Get page in page_prepare handler
  iomap/xfs: Eliminate the iomap_valid handler
  iomap: Rename page_ops to folio_ops

 fs/buffer.c            |  5 +--
 fs/ext4/inode.c        | 13 +++---
 fs/gfs2/bmap.c         | 43 +++++++++++++------
 fs/iomap/buffered-io.c | 95 +++++++++++++++++++++---------------------
 fs/xfs/xfs_iomap.c     | 42 +++++++++++++------
 include/linux/iomap.h  | 46 +++++++-------------
 include/linux/mm.h     |  2 +
 mm/truncate.c          | 35 ++++++++++++++++
 8 files changed, 169 insertions(+), 112 deletions(-)