I was hoping that filesystems would convert from buffer_heads to iomap, but that's not happening particularly quickly. So the buffer_head infrastructure needs to be converted from being page-based to being folio-based. This is the initial patchset that I hope Andrew will take for 6.3. I have a lot of followup patches, but many of them should go through individual filesystem trees (ext4, f2fs, etc). They can wait for 6.4. Matthew Wilcox (Oracle) (12): buffer: Add b_folio as an alias of b_page buffer: Replace obvious uses of b_page with b_folio buffer: Use b_folio in touch_buffer() buffer: Use b_folio in end_buffer_async_read() buffer: Use b_folio in end_buffer_async_write() page_io: Remove buffer_head include buffer: Use b_folio in mark_buffer_dirty() gfs2: Replace obvious uses of b_page with b_folio jbd2: Replace obvious uses of b_page with b_folio nilfs2: Replace obvious uses of b_page with b_folio reiserfs: Replace obvious uses of b_page with b_folio mpage: Use b_folio in do_mpage_readpage() fs/buffer.c | 54 +++++++++++++++++------------------ fs/gfs2/glops.c | 2 +- fs/gfs2/log.c | 2 +- fs/gfs2/meta_io.c | 2 +- fs/jbd2/commit.c | 8 ++---- fs/jbd2/journal.c | 2 +- fs/mpage.c | 2 +- fs/nilfs2/btnode.c | 2 +- fs/nilfs2/btree.c | 2 +- fs/nilfs2/gcinode.c | 2 +- fs/nilfs2/mdt.c | 4 +-- fs/nilfs2/segment.c | 2 +- fs/reiserfs/journal.c | 4 +-- fs/reiserfs/tail_conversion.c | 2 +- include/linux/buffer_head.h | 5 +++- mm/page_io.c | 1 - 16 files changed, 47 insertions(+), 49 deletions(-) -- 2.35.1