All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cluster-devel] [RFC v3 0/7] Turn iomap_page_ops into iomap_folio_ops
@ 2022-12-16 15:06 ` Andreas Gruenbacher
  0 siblings, 0 replies; 63+ messages in thread
From: Andreas Gruenbacher @ 2022-12-16 15:06 UTC (permalink / raw)
  To: cluster-devel.redhat.com

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


^ permalink raw reply	[flat|nested] 63+ messages in thread

end of thread, other threads:[~2022-12-28 15:56 UTC | newest]

Thread overview: 63+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-16 15:06 [Cluster-devel] [RFC v3 0/7] Turn iomap_page_ops into iomap_folio_ops Andreas Gruenbacher
2022-12-16 15:06 ` Andreas Gruenbacher
2022-12-16 15:06 ` [Cluster-devel] [RFC v3 1/7] fs: Add folio_may_straddle_isize helper Andreas Gruenbacher
2022-12-16 15:06   ` Andreas Gruenbacher
2022-12-23 14:56   ` [Cluster-devel] " Christoph Hellwig
2022-12-23 14:56     ` Christoph Hellwig
2022-12-23 22:04     ` [Cluster-devel] " Andreas Grünbacher
2022-12-23 22:04       ` Andreas Grünbacher
2022-12-24  7:21       ` Christoph Hellwig
2022-12-16 15:06 ` [Cluster-devel] [RFC v3 2/7] iomap: Add iomap_folio_done helper Andreas Gruenbacher
2022-12-16 15:06   ` Andreas Gruenbacher
2022-12-23 15:02   ` [Cluster-devel] " Christoph Hellwig
2022-12-23 15:02     ` Christoph Hellwig
2022-12-23 20:54     ` [Cluster-devel] " Andreas Grünbacher
2022-12-23 20:54       ` Andreas Grünbacher
2022-12-24  7:22       ` [Cluster-devel] " Christoph Hellwig
2022-12-24  7:22         ` Christoph Hellwig
2022-12-16 15:06 ` [Cluster-devel] [RFC v3 3/7] iomap/gfs2: Unlock and put folio in page_done handler Andreas Gruenbacher
2022-12-16 15:06   ` Andreas Gruenbacher
2022-12-23 15:03   ` [Cluster-devel] " Christoph Hellwig
2022-12-23 15:03     ` Christoph Hellwig
2022-12-16 15:06 ` [Cluster-devel] [RFC v3 4/7] iomap: Add iomap_folio_prepare helper Andreas Gruenbacher
2022-12-16 15:06   ` Andreas Gruenbacher
2022-12-23 15:04   ` [Cluster-devel] " Christoph Hellwig
2022-12-23 15:04     ` Christoph Hellwig
2022-12-23 21:05     ` [Cluster-devel] " Andreas Grünbacher
2022-12-23 21:05       ` Andreas Grünbacher
2022-12-24  7:23       ` [Cluster-devel] " Christoph Hellwig
2022-12-24  7:23         ` Christoph Hellwig
2022-12-25  9:12         ` [Cluster-devel] " Matthew Wilcox
2022-12-25  9:12           ` Matthew Wilcox
2022-12-28 15:55           ` [Cluster-devel] " Christoph Hellwig
2022-12-28 15:55             ` Christoph Hellwig
2022-12-16 15:06 ` [Cluster-devel] [RFC v3 5/7] iomap: Get page in page_prepare handler Andreas Gruenbacher
2022-12-16 15:06   ` Andreas Gruenbacher
2022-12-16 16:30   ` [Cluster-devel] " Matthew Wilcox
2022-12-16 16:30     ` Matthew Wilcox
2022-12-16 17:15     ` [Cluster-devel] " Andreas Gruenbacher
2022-12-16 17:15       ` Andreas Gruenbacher
2022-12-23 15:07   ` [Cluster-devel] " Christoph Hellwig
2022-12-23 15:07     ` Christoph Hellwig
2022-12-16 15:06 ` [Cluster-devel] [RFC v3 6/7] iomap/xfs: Eliminate the iomap_valid handler Andreas Gruenbacher
2022-12-16 15:06   ` Andreas Gruenbacher
2022-12-23 15:10   ` [Cluster-devel] " Christoph Hellwig
2022-12-23 15:10     ` Christoph Hellwig
2022-12-16 15:06 ` [Cluster-devel] [RFC v3 7/7] iomap: Rename page_ops to folio_ops Andreas Gruenbacher
2022-12-16 15:06   ` Andreas Gruenbacher
2022-12-18 22:10 ` [Cluster-devel] [RFC v4 0/7] Turn iomap_page_ops into iomap_folio_ops Andreas Gruenbacher
2022-12-18 22:10   ` Andreas Gruenbacher
2022-12-18 22:10 ` [Cluster-devel] [RFC v4 1/7] fs: Add folio_may_straddle_isize helper Andreas Gruenbacher
2022-12-18 22:10   ` Andreas Gruenbacher
2022-12-18 22:10 ` [Cluster-devel] [RFC v4 2/7] iomap: Add iomap_folio_done helper Andreas Gruenbacher
2022-12-18 22:10   ` Andreas Gruenbacher
2022-12-18 22:10 ` [Cluster-devel] [RFC v4 3/7] iomap/gfs2: Unlock and put folio in page_done handler Andreas Gruenbacher
2022-12-18 22:10   ` Andreas Gruenbacher
2022-12-18 22:10 ` [Cluster-devel] [RFC v4 4/7] iomap: Add iomap_folio_prepare helper Andreas Gruenbacher
2022-12-18 22:10   ` Andreas Gruenbacher
2022-12-18 22:10 ` [Cluster-devel] [RFC v4 5/7] iomap/gfs2: Get page in page_prepare handler Andreas Gruenbacher
2022-12-18 22:10   ` Andreas Gruenbacher
2022-12-18 22:10 ` [Cluster-devel] [RFC v4 6/7] iomap/xfs: Eliminate the iomap_valid handler Andreas Gruenbacher
2022-12-18 22:10   ` Andreas Gruenbacher
2022-12-18 22:10 ` [Cluster-devel] [RFC v4 7/7] iomap: Rename page_ops to folio_ops Andreas Gruenbacher
2022-12-18 22:10   ` Andreas Gruenbacher

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.