mbox series

[0/2] folio_copy_tail

Message ID 20230303064315.701090-1-willy@infradead.org (mailing list archive)
Headers show
Series folio_copy_tail | expand

Message

Matthew Wilcox March 3, 2023, 6:43 a.m. UTC
I'm trying to make it easy & efficient for a filesystem to read its file
tails into a folio.  iomap's implementation was pretty good, but had
some limitations (eg tails couldn't cross a page boundary).

This should be an all-singing, all-dancing implementation which copies
the correct part of the buffer into the correct part of the folio and
zeroes the remainder of the folio.  It should work with highmem, but
the calculations are a bit tricky and I may have got something wrong.

For some reason I'm currently running an XFS test against it, even
though I know XFS doesn't support inline data.  If there's good feedback,
I'll take a look at converting udf_adinicb_readpage() and other similar
functions.

Matthew Wilcox (Oracle) (2):
  filemap: Add folio_copy_tail()
  iomap: Use folio_copy_tail()

 fs/iomap/buffered-io.c  | 23 +++++------------
 include/linux/pagemap.h |  1 +
 mm/filemap.c            | 56 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 63 insertions(+), 17 deletions(-)