linux-nilfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ryusuke Konishi <konishi.ryusuke@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox <willy@infradead.org>,
	linux-kernel@vger.kernel.org
Subject: [PATCH 00/17] nilfs2: Folio conversions for directory paths
Date: Mon, 27 Nov 2023 23:30:19 +0900	[thread overview]
Message-ID: <20231127143036.2425-1-konishi.ryusuke@gmail.com> (raw)

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


             reply	other threads:[~2023-11-27 14:30 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-27 14:30 Ryusuke Konishi [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231127143036.2425-1-konishi.ryusuke@gmail.com \
    --to=konishi.ryusuke@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nilfs@vger.kernel.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).