[PATCH v2 0/5] ceph: convert the inline data paths to folios

Tal Zussman posted 5 patches 3 weeks, 2 days ago
fs/ceph/addr.c       | 70 +++++++++++++++++++++++++---------------------------
fs/ceph/caps.c       | 10 ++++----
fs/ceph/file.c       | 18 +++++++-------
fs/ceph/inode.c      | 14 +++++------
fs/ceph/mds_client.h |  2 +-
fs/ceph/super.h      | 12 ++++-----
6 files changed, 61 insertions(+), 65 deletions(-)
[PATCH v2 0/5] ceph: convert the inline data paths to folios
Posted by Tal Zussman 3 weeks, 2 days ago
This removes the last ceph callers of find_or_create_page() and
find_get_page(), and one of the five remaining calls to
__page_cache_alloc().

The remaining inline data struct page use is the single-entry page array
in ceph_uninline_data(), due to the OSD client using page-based data
types.

Inline data support is deprecated and, as of the current testing
branch, gated behind CONFIG_CEPH_FS_INLINE_DATA ahead of its eventual
removal [1]. The conversions are still worth doing in the meantime, as
they remove the last ceph users of some deprecated mm APIs that we'd
like to remove next cycle.

Compile-tested only, with CONFIG_CEPH_FS_INLINE_DATA both enabled and
disabled.

[1] https://lore.kernel.org/ceph-devel/20260729-b4-ceph-remove-inline-data-v2-1-db0c92dab8ee@clyso.com/

---
Changes in v2:
- Rebase onto the latest ceph-client testing branch
- Patch 4: Convert the CONFIG_CEPH_FS_INLINE_DATA=n stub of
  ceph_fill_inline_data() as well
- Drop the put_bvecs() patch, as it was unrelated and could underflow
  the refcount of slab pages, per Sashiko
- Link to v1: https://lore.kernel.org/r/20260825-ceph-inline-folio-v1-0-d2366fade152@columbia.edu

---
Tal Zussman (5):
      ceph: use a folio in ceph_get_caps()
      ceph: use a folio in the inline read branch of ceph_filemap_fault()
      ceph: use a folio in the READ_INLINE path of ceph_read_iter()
      ceph: convert ceph_fill_inline_data() to take a folio
      ceph: convert r_locked_page to r_locked_folio

 fs/ceph/addr.c       | 70 +++++++++++++++++++++++++---------------------------
 fs/ceph/caps.c       | 10 ++++----
 fs/ceph/file.c       | 18 +++++++-------
 fs/ceph/inode.c      | 14 +++++------
 fs/ceph/mds_client.h |  2 +-
 fs/ceph/super.h      | 12 ++++-----
 6 files changed, 61 insertions(+), 65 deletions(-)
---
base-commit: 6b039a71d37a39bb90a64c4e271f90ee0588ac4a
change-id: 20260825-ceph-inline-folio-17bcdb200850

Best regards,
--  
Tal Zussman <tz2294@columbia.edu>