iomap folio conversion for 5.17
From: Matthew Wilcox
Date: Thu Nov 25 2021 - 16:13:13 EST
On Wed, Nov 24, 2021 at 10:39:05AM -0800, Darrick J. Wong wrote:
> Hi folks,
>
> The iomap-for-next branch of the xfs-linux repository at:
>
> git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git
>
> has just been updated.
Hi Darrick,
Would you like to pull the folio changes from my git tree?
They are generally as posted previously, with minor tweaks to match
upstream changes. They do not introduce any new xfstests problems
in my testing.
The following changes since commit b501b85957deb17f1fe0a861fee820255519d526:
Merge tag 'asm-generic-5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic (2021-11-25 10:41:28 -0800)
are available in the Git repository at:
git://git.infradead.org/users/willy/linux.git tags/iomap-folio-5.17
for you to fetch changes up to 979fe192e8a935968fd739983217128b431f6268:
xfs: Support large folios (2021-11-25 14:03:56 -0500)
----------------------------------------------------------------
Convert fs/iomap to use folios
These patches prepare XFS to use large folios to cache files.
There are some preliminary patches to add folio interfaces to the
block layer & buffer layer, then all the iomap functions are
converted to use folios instead of pages.
----------------------------------------------------------------
Matthew Wilcox (Oracle) (24):
block: Add bio_add_folio()
block: Add bio_for_each_folio_all()
fs/buffer: Convert __block_write_begin_int() to take a folio
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: Add iomap_invalidate_folio
iomap: Pass the iomap_page into iomap_set_range_uptodate
iomap: Convert bio completions to use folios
iomap: Use folio offsets instead of page offsets
iomap: Convert iomap_read_inline_data to take a folio
iomap: Convert readahead and readpage to use a folio
iomap: Convert iomap_page_mkwrite to use a folio
iomap: Convert __iomap_zero_iter to use a folio
iomap: Convert iomap_write_begin() and iomap_write_end() to folios
iomap: Convert iomap_write_end_inline to take a folio
iomap,xfs: Convert ->discard_page to ->discard_folio
iomap: Simplify iomap_writepage_map()
iomap: Simplify iomap_do_writepage()
iomap: Convert iomap_add_to_ioend() to take a folio
iomap: Convert iomap_migrate_page() to use folios
iomap: Support large folios in invalidatepage
xfs: Support large folios
Documentation/core-api/kernel-api.rst | 1 +
block/bio.c | 22 ++
fs/buffer.c | 23 +-
fs/internal.h | 2 +-
fs/iomap/buffered-io.c | 506 +++++++++++++++++-----------------
fs/xfs/xfs_aops.c | 24 +-
fs/xfs/xfs_icache.c | 2 +
include/linux/bio.h | 56 +++-
include/linux/iomap.h | 3 +-
9 files changed, 363 insertions(+), 276 deletions(-)