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

Message ID 20231114084436.2755-1-konishi.ryusuke@gmail.com
Headers
Series nilfs2: Folio conversions for file paths |

Message

Ryusuke Konishi Nov. 14, 2023, 8:44 a.m. UTC
  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@infradead.org

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(-)