Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/10] ceph: convert writeback path to folios
@ 2026-08-04 18:52 Tal Zussman
  2026-08-04 18:52 ` [PATCH v2 01/10] ceph: add ceph_folio_snap_context() Tal Zussman
                   ` (9 more replies)
  0 siblings, 10 replies; 18+ messages in thread
From: Tal Zussman @ 2026-08-04 18:52 UTC (permalink / raw)
  To: Ilya Dryomov, Alex Markuze, Viacheslav Dubeyko,
	Matthew Wilcox (Oracle), Jan Kara, Andrew Morton,
	David Hildenbrand, Lorenzo Stoakes, Liam R. Howlett,
	Vlastimil Babka, Mike Rapoport, Suren Baghdasaryan, Michal Hocko,
	Zi Yan
  Cc: ceph-devel, linux-kernel, linux-fsdevel, linux-mm, Tal Zussman

Convert ceph's writeback path to work on folios. With these
conversions, remove three mm compatibility APIs whose last callers are
eliminated: wait_on_page_writeback(), thp_size(), and thp_order().

Some page <-> folio boundaries are deliberately left in place where
ceph borders on some gnarlier page-based APIs:

- libceph's OSD data plane is page-array based, so ceph_writeback_ctl's
  pages[] and osd_data->pages[] remain struct page arrays. Folios are
  converted at the array/libceph boundary.

- fscrypt's bounce page API remains page-based for some functions
  (fscrypt_encrypt_pagecache_blocks(), fscrypt_finalize_bounce_page()).
  Possibly-bounce array entries are unwrapped to their pagecache folios
  via fscrypt_pagecache_folio().

This series is based on the ceph-client testing branch [1].

[1] https://github.com/ceph/ceph-client/tree/testing

Signed-off-by: Tal Zussman <tz2294@columbia.edu>
---
Changes in v2:
- Propagate tags (thanks David and Matthew!)
- Rebase onto ceph-client.git testing
- Rename the series to "ceph: convert writeback path to folios"
- Patch 1: Drop the folio_test_private() check in
  ceph_folio_snap_context(), per Matthew and Zi.
- Patch 4: Introduce ceph_fscrypt folio helpers and use them in
  get_writepages_data_length(), per Matthew.
- Patches 5-10: new
- Link to v1: https://lore.kernel.org/r/20260802-remove-wait-on-page-writeback-v1-0-6c35d6b3ad36@columbia.edu

---
Tal Zussman (10):
      ceph: add ceph_folio_snap_context()
      ceph: convert ceph_wait_until_current_writes_complete() to folios
      mm: remove wait_on_page_writeback()
      ceph: convert get_writepages_data_length() to folios
      ceph: convert ceph_submit_write() to folios
      mm: remove thp_size() and thp_order()
      ceph: remove page remnants from write_folio_nounlock()
      ceph: convert page cleanup loop in writepages_finish() to folios
      ceph: remove ceph_fscrypt_pagecache_page() and ceph_fscrypt_page_offset()
      ceph: rename ceph_check_page_before_write() to ceph_check_folio_before_write()

 fs/ceph/addr.c          | 120 ++++++++++++++++++++++++------------------------
 fs/ceph/crypto.h        |  12 ++---
 include/linux/mm.h      |  21 ---------
 include/linux/pagemap.h |   1 -
 mm/folio-compat.c       |   6 ---
 5 files changed, 65 insertions(+), 95 deletions(-)
---
base-commit: 30c0913a2b44a66dc17283a88489b3f3e12f4327
change-id: 20260802-remove-wait-on-page-writeback-8e0cb766d4c7

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



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

end of thread, other threads:[~2026-08-06 19:51 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-04 18:52 [PATCH v2 00/10] ceph: convert writeback path to folios Tal Zussman
2026-08-04 18:52 ` [PATCH v2 01/10] ceph: add ceph_folio_snap_context() Tal Zussman
2026-08-04 19:59   ` Zi Yan
2026-08-04 23:42   ` Matthew Wilcox
2026-08-04 18:52 ` [PATCH v2 02/10] ceph: convert ceph_wait_until_current_writes_complete() to folios Tal Zussman
2026-08-04 18:52 ` [PATCH v2 03/10] mm: remove wait_on_page_writeback() Tal Zussman
2026-08-04 18:52 ` [PATCH v2 04/10] ceph: convert get_writepages_data_length() to folios Tal Zussman
2026-08-04 18:52 ` [PATCH v2 05/10] ceph: convert ceph_submit_write() " Tal Zussman
2026-08-06 18:58   ` Tal Zussman
2026-08-06 19:51     ` Tal Zussman
2026-08-04 18:52 ` [PATCH v2 06/10] mm: remove thp_size() and thp_order() Tal Zussman
2026-08-06 11:55   ` David Hildenbrand (Arm)
2026-08-04 18:52 ` [PATCH v2 07/10] ceph: remove page remnants from write_folio_nounlock() Tal Zussman
2026-08-04 18:52 ` [PATCH v2 08/10] ceph: convert page cleanup loop in writepages_finish() to folios Tal Zussman
2026-08-04 23:33   ` Tal Zussman
2026-08-04 23:53     ` Matthew Wilcox
2026-08-04 18:52 ` [PATCH v2 09/10] ceph: remove ceph_fscrypt_pagecache_page() and ceph_fscrypt_page_offset() Tal Zussman
2026-08-04 18:52 ` [PATCH v2 10/10] ceph: rename ceph_check_page_before_write() to ceph_check_folio_before_write() Tal Zussman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox