[PATCH 00/20] nilfs2: Folio conversions for file paths

From: Ryusuke Konishi
Date: Tue Nov 14 2023 - 03:45:36 EST


Hi Andrew, please queue this series for the next merge window.

This series advances page->folio conversions for a wide range of
nilfs2, including its file operations, block routines, and the log
writer's writeback routines. It doesn't cover large folios support,
but it saves a lot of hidden compound_head() calls while preserving
the existing support range behavior.

The original series in post [1] also covered directory-related
page->folio conversions, but that was put on hold because a regression
was found in testing, so this is an excerpt from the first half of the
original post.

[1] https://lkml.kernel.org/r/20231106173903.1734114-1-willy@xxxxxxxxxxxxx

I tested this series in both 32-bit and 64-bit environments, switching
between normal and small block sizes. I also reviewed all changes in
all patches to ensure they do not break existing behavior.

There were no problems, so I'm sending this part first because I would
like you to keep it in the -mm tree at an early stage.

Thanks,
Ryusuke Konishi


Matthew Wilcox (Oracle) (20):
nilfs2: Add nilfs_end_folio_io()
nilfs2: Convert nilfs_abort_logs to use folios
nilfs2: Convert nilfs_segctor_complete_write to use folios
nilfs2: Convert nilfs_forget_buffer to use a folio
nilfs2: Convert to nilfs_folio_buffers_clean()
nilfs2: Convert nilfs_writepage() to use a folio
nilfs2: Convert nilfs_mdt_write_page() to use a folio
nilfs2: Convert to nilfs_clear_folio_dirty()
nilfs2: Convert to __nilfs_clear_folio_dirty()
nilfs2: Convert nilfs_segctor_prepare_write to use folios
nilfs2: Convert nilfs_page_mkwrite() to use a folio
nilfs2: Convert nilfs_mdt_create_block to use a folio
nilfs2: Convert nilfs_mdt_submit_block to use a folio
nilfs2: Convert nilfs_gccache_submit_read_data to use a folio
nilfs2: Convert nilfs_btnode_create_block to use a folio
nilfs2: Convert nilfs_btnode_submit_block to use a folio
nilfs2: Convert nilfs_btnode_delete to use a folio
nilfs2: Convert nilfs_btnode_prepare_change_key to use a folio
nilfs2: Convert nilfs_btnode_commit_change_key to use a folio
nilfs2: Convert nilfs_btnode_abort_change_key to use a folio

fs/nilfs2/btnode.c | 62 ++++++++---------
fs/nilfs2/file.c | 28 ++++----
fs/nilfs2/gcinode.c | 4 +-
fs/nilfs2/inode.c | 11 ++--
fs/nilfs2/mdt.c | 23 +++----
fs/nilfs2/page.c | 68 +++++++++----------
fs/nilfs2/page.h | 6 +-
fs/nilfs2/segment.c | 157 ++++++++++++++++++++++----------------------
8 files changed, 183 insertions(+), 176 deletions(-)

--
2.34.1