[PATCH 0/3] Add folio_zero_tail() and folio_fill_tail()

Matthew Wilcox (Oracle)
2023-11-07T21:27:01Z

I'm trying to make it easier for filesystems with tailpacking /
stuffing / inline data to use folios. The primary function here is
folio_fill_tail(). You give it a pointer to memory where the data
currently is, and it takes care of copying it into the folio at that
offset. That works for gfs2 & iomap. Then There's Ext4. Rather than
gin up some kind of specialist "Here's a two pointers to two blocks
of memory" routine, just let it do its current thing, and let it call
folio_zero_tail(), which is also called by folio_fill_tail().

Other filesystems can be converted later; these ones seemed like good
examples as they're already partly or completely converted to folios.

Matthew Wilcox (Oracle) (3):
mm: Add folio_zero_tail() and use it in ext4
mm: Add folio_fill_tail() and use it in iomap
gfs2: Convert stuffed_readpage() to stuffed_read_folio()

fs/ext4/inline.c | 3 +-
fs/gfs2/aops.c | 37 +++++++++-----------
fs/iomap/buffered-io.c | 14 ++------
include/linux/highmem.h | 76 +++++++++++++++++++++++++++++++++++++++++
4 files changed, 96 insertions(+), 34 deletions(-)

--
2.42.0