[PATCH 00/17] nilfs2: Folio conversions for directory paths
From: Ryusuke Konishi
Date: Mon Nov 27 2023 - 09:31:48 EST
Hi Andrew,
please add this series to your queue for the next merge window.
This series applies page->folio conversions to nilfs2 directory
operations. This reduces hidden compound_head() calls and also
converts deprecated kmap calls to kmap_local in the directory code.
Although nilfs2 does not yet support large folios, Matthew has done
his best here to include support for large folios, which will be
needed for devices with large block sizes.
This series corresponds to the second half of the original post [1],
but with two complementary patches inserted at the beginning and some
adjustments, to prevent a kmap_local constraint violation found during
testing with highmem mapping.
[1] https://lkml.kernel.org/r/20231106173903.1734114-1-willy@xxxxxxxxxxxxx
I have reviewed all changes and tested this for regular and small
block sizes, both on machines with and without highmem mapping. No
issues found.
Thanks,
Ryusuke Konishi
Matthew Wilcox (Oracle) (15):
nilfs2: Remove page_address() from nilfs_set_link
nilfs2: Remove page_address() from nilfs_add_link
nilfs2: Remove page_address() from nilfs_delete_entry
nilfs2: Return the mapped address from nilfs_get_page()
nilfs2: Pass the mapped address to nilfs_check_page()
nilfs2: Switch to kmap_local for directory handling
nilfs2: Add nilfs_get_folio()
nilfs2: Convert nilfs_readdir to use a folio
nilfs2: Convert nilfs_find_entry to use a folio
nilfs2: Convert nilfs_rename() to use folios
nilfs2: Convert nilfs_add_link() to use a folio
nilfs2: Convert nilfs_empty_dir() to use a folio
nilfs2: Convert nilfs_make_empty() to use a folio
nilfs2: Convert nilfs_prepare_chunk() and nilfs_commit_chunk() to
folios
nilfs2: Convert nilfs_page_bug() to nilfs_folio_bug()
Ryusuke Konishi (2):
nilfs2: move page release outside of nilfs_delete_entry and
nilfs_set_link
nilfs2: eliminate staggered calls to kunmap in nilfs_rename
fs/nilfs2/btnode.c | 4 +-
fs/nilfs2/dir.c | 244 +++++++++++++++++++++------------------------
fs/nilfs2/namei.c | 38 +++----
fs/nilfs2/nilfs.h | 20 ++--
fs/nilfs2/page.c | 25 ++---
fs/nilfs2/page.h | 6 +-
6 files changed, 159 insertions(+), 178 deletions(-)
--
2.34.1