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