This is (almost) everything necessary to support folios in iomap. No regressions with an xfstests run on my setup. v15: - Turn the / PAGE_SIZE into >> PAGE_SHIFT, as requested by Darrick - Modify the for loop to be in Darrick's preferred form - Improve documentation of bio_add_folio() - Add documentation for bio_for_each_folio_all() and folio_iter - Add bio.h to the generated kernel-doc - Rebase on top of folio for-next (which includes the iomap changes in -rc2) https://git.infradead.org/users/willy/pagecache.git/shortlog/refs/heads/for-next Matthew Wilcox (Oracle) (17): block: Add bio_add_folio() block: Add bio_for_each_folio_all() iomap: Convert to_iomap_page to take a folio iomap: Convert iomap_page_create to take a folio iomap: Convert iomap_page_release to take a folio iomap: Convert iomap_releasepage to use a folio iomap: Convert iomap_invalidatepage to use a folio iomap: Pass the iomap_page into iomap_set_range_uptodate iomap: Use folio offsets instead of page offsets iomap: Convert bio completions to use folios iomap: Convert readahead and readpage to use a folio iomap: Convert iomap_page_mkwrite to use a folio iomap: Convert iomap_write_begin and iomap_write_end to folios iomap: Convert iomap_read_inline_data to take a folio iomap: Convert iomap_write_end_inline to take a folio iomap: Convert iomap_add_to_ioend to take a folio iomap: Convert iomap_migrate_page to use folios Documentation/core-api/kernel-api.rst | 1 + block/bio.c | 21 ++ fs/iomap/buffered-io.c | 511 +++++++++++++------------- include/linux/bio.h | 56 ++- 4 files changed, 327 insertions(+), 262 deletions(-) -- 2.30.2