linux-nilfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/17] nilfs2: Folio conversions for directory paths
@ 2023-11-27 14:30 Ryusuke Konishi
  2023-11-27 14:30 ` [PATCH 01/17] nilfs2: move page release outside of nilfs_delete_entry and nilfs_set_link Ryusuke Konishi
                   ` (16 more replies)
  0 siblings, 17 replies; 20+ messages in thread
From: Ryusuke Konishi @ 2023-11-27 14:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-nilfs, Matthew Wilcox, linux-kernel

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@infradead.org

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


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2023-11-27 17:09 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-27 14:30 [PATCH 00/17] nilfs2: Folio conversions for directory paths Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 01/17] nilfs2: move page release outside of nilfs_delete_entry and nilfs_set_link Ryusuke Konishi
2023-11-27 17:08   ` Matthew Wilcox
2023-11-27 14:30 ` [PATCH 02/17] nilfs2: eliminate staggered calls to kunmap in nilfs_rename Ryusuke Konishi
2023-11-27 17:08   ` Matthew Wilcox
2023-11-27 14:30 ` [PATCH 03/17] nilfs2: Remove page_address() from nilfs_set_link Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 04/17] nilfs2: Remove page_address() from nilfs_add_link Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 05/17] nilfs2: Remove page_address() from nilfs_delete_entry Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 06/17] nilfs2: Return the mapped address from nilfs_get_page() Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 07/17] nilfs2: Pass the mapped address to nilfs_check_page() Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 08/17] nilfs2: Switch to kmap_local for directory handling Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 09/17] nilfs2: Add nilfs_get_folio() Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 10/17] nilfs2: Convert nilfs_readdir to use a folio Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 11/17] nilfs2: Convert nilfs_find_entry " Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 12/17] nilfs2: Convert nilfs_rename() to use folios Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 13/17] nilfs2: Convert nilfs_add_link() to use a folio Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 14/17] nilfs2: Convert nilfs_empty_dir() " Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 15/17] nilfs2: Convert nilfs_make_empty() " Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 16/17] nilfs2: Convert nilfs_prepare_chunk() and nilfs_commit_chunk() to folios Ryusuke Konishi
2023-11-27 14:30 ` [PATCH 17/17] nilfs2: Convert nilfs_page_bug() to nilfs_folio_bug() Ryusuke Konishi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).