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(-) -- 2.38.1