mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 00/10] btrfs: convert some struct page users to folios
@ 2026-09-06 22:29 Tal Zussman
  2026-09-06 22:29 ` [PATCH 01/10] btrfs: tests: rename process_page_range() to process_folio_range() Tal Zussman
                   ` (9 more replies)
  0 siblings, 10 replies; 23+ messages in thread
From: Tal Zussman @ 2026-09-06 22:29 UTC (permalink / raw)
  To: David Sterba, Chris Mason
  Cc: Matthew Wilcox (Oracle), linux-btrfs, linux-kernel, Tal Zussman

This series converts four areas of btrfs that still use struct page:

1. The extent-io tests. test_find_delalloc() uses the page APIs, and the
   extent buffer memory checks assume one page per folio.

2. Compression. btrfs_compr_pool_scan() walks the folio pool as struct
   page, the last use of page->lru in btrfs, and the heuristic sampler
   is the last caller of find_get_page().

3. Super block reads. btrfs_read_disk_super() and the zoned super block
   log comparison are the last page cache lookups by page in btrfs.

4. The v1 free space cache. struct btrfs_io_ctl stores pages that
   io_ctl_prepare_pages() has just converted from folios. Its mapping
   allows large folios, which the io_ctl code can't handle, so the first
   patch keeps it at order 0 to match the v1 format. While this is
   deprecated, it uses page APIs that we would like to remove, so it is
   still worth converting in the meantime.

Tested with KASAN, lockdep, DEBUG_VM and the btrfs selftests enabled.
The v1 space cache paths were tested by mounting a filesystem whose
cache was written by an older kernel. xfstests' compress group under
compress=zstd and the btrfs group both pass.

---
Tal Zussman (10):
      btrfs: tests: rename process_page_range() to process_folio_range()
      btrfs: tests: convert test_find_delalloc() to use folios
      btrfs: tests: use eb folio helpers in extent buffer memory checks
      btrfs: convert btrfs_compr_pool_scan() to use folios
      btrfs: convert heuristic_collect_sample() to use folios
      btrfs: fix stale function references in compression comments
      btrfs: use folios for reading super blocks from the block device
      btrfs: keep the free space cache inode mapping at order 0
      btrfs: convert struct btrfs_io_ctl to use folios
      btrfs: rename io_ctl page helpers to folio helpers

 fs/btrfs/btrfs_inode.h           |   7 ++
 fs/btrfs/compression.c           |  20 +++---
 fs/btrfs/disk-io.c               |   2 +-
 fs/btrfs/free-space-cache.c      | 146 +++++++++++++++++++--------------------
 fs/btrfs/free-space-cache.h      |   8 +--
 fs/btrfs/tests/extent-io-tests.c | 126 ++++++++++++++++-----------------
 fs/btrfs/volumes.c               |  16 ++---
 fs/btrfs/zoned.c                 |  12 ++--
 8 files changed, 173 insertions(+), 164 deletions(-)
---
base-commit: 966bb86e7420c64f20edaac5ea096da9b16dc458
change-id: 20260905-btrfs-folio-conversions-47950cc1faca

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


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

end of thread, other threads:[~2026-09-07  6:51 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-06 22:29 [PATCH 00/10] btrfs: convert some struct page users to folios Tal Zussman
2026-09-06 22:29 ` [PATCH 01/10] btrfs: tests: rename process_page_range() to process_folio_range() Tal Zussman
2026-09-07  6:30   ` Qu Wenruo
2026-09-06 22:29 ` [PATCH 02/10] btrfs: tests: convert test_find_delalloc() to use folios Tal Zussman
2026-09-07  6:29   ` Qu Wenruo
2026-09-06 22:29 ` [PATCH 03/10] btrfs: tests: use eb folio helpers in extent buffer memory checks Tal Zussman
2026-09-07  6:33   ` Qu Wenruo
2026-09-06 22:29 ` [PATCH 04/10] btrfs: convert btrfs_compr_pool_scan() to use folios Tal Zussman
2026-09-07  6:36   ` Qu Wenruo
2026-09-06 22:29 ` [PATCH 05/10] btrfs: convert heuristic_collect_sample() " Tal Zussman
2026-09-07  6:44   ` Qu Wenruo
2026-09-06 22:29 ` [PATCH 06/10] btrfs: fix stale function references in compression comments Tal Zussman
2026-09-07  6:44   ` Qu Wenruo
2026-09-06 22:29 ` [PATCH 07/10] btrfs: use folios for reading super blocks from the block device Tal Zussman
2026-09-07  6:51   ` Qu Wenruo
2026-09-06 22:29 ` [PATCH 08/10] btrfs: keep the free space cache inode mapping at order 0 Tal Zussman
2026-09-06 23:10   ` Qu Wenruo
2026-09-06 22:29 ` [PATCH 09/10] btrfs: convert struct btrfs_io_ctl to use folios Tal Zussman
2026-09-06 22:29 ` [PATCH 10/10] btrfs: rename io_ctl page helpers to folio helpers Tal Zussman
2026-09-06 23:12   ` Qu Wenruo
2026-09-06 23:20     ` Tal Zussman
2026-09-07  0:23       ` Qu Wenruo
2026-09-07  0:58         ` Tal Zussman

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

all inboxes | Powered by JetHome®