mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v5 00/16] f2fs: support & optimize large folios for writable files
@ 2026-10-14  6:44 Nanzhe Zhao
  2026-10-14  6:44 ` [PATCH v5 01/16] f2fs: extend folio state for large folio write path Nanzhe Zhao
                   ` (16 more replies)
  0 siblings, 17 replies; 27+ messages in thread
From: Nanzhe Zhao @ 2026-10-14  6:44 UTC (permalink / raw)
  To: linux-f2fs-devel, Jaegeuk Kim, Chao Yu
  Cc: Barry Song, Nanzhe Zhao, Juan Yescas, Daeho Jeong, Dev Jain,
	David Hildenbrand, linux-kernel, Bo Zhang, Kalesh Singh,
	Nanzhe Zhao, Pengfei Li, Ryan Roberts

This series supports large folios for most readable/writable files
in buffered I/O paths, including normal files, block-layer encrypted
files, and atomic files except for inline-data files, compressed files,
and quota files.

It also extends f2fs_folio_state to coexist with f2fs page-private
flags and to handle large folio write path and partial truncate of
large folios correctly.  A valid large folio always carries a
f2fs_folio_state at its folio->private in the current implementation.

Benchmark details can be found in the RFC v2 cover letter [1].

Changes in v5:
- Rebased onto the f2fs dev-test branch (d1685c24b6c3).
- Dropped the two prerequisite bug fixes, which are now merged:
    c04f209773ec ("f2fs: read i_size once in f2fs_vm_page_mkwrite")
    b3c984358925 ("f2fs: remove mappedtodisk flag usage in mmap write path")
- Link to v4: [2]

Many thanks to Chao and Daeho for your extensive reviews and valuable
suggestions!

[1] https://lore.kernel.org/r/20260622160830.324455-1-zhaonanzhe@xiaomi.com
[2] https://lore.kernel.org/linux-f2fs-devel/20261013115621.968742-1-nzzhao.sigma@gmail.com/

Nanzhe Zhao (16):
  f2fs: extend folio state for large folio write path
  f2fs: carry subpage offset and count in write IO
  f2fs: support regular file buffered writes on large folios
  f2fs: support atomic file large folios buffered write
  f2fs: support large folio writeback
  f2fs: account large folio dirty data at block granularity
  f2fs: prepare mmap write faults for large folios
  f2fs: make GC migration large-folio aware
  f2fs: optimize small block size large folio read
  f2fs: support partial uptodate large folio read
  f2fs: handle partial truncate of large folio dirty subpages
  f2fs: wait for folio writeback before ffs_detach_free
  f2fs: fix zeroing paths for large folios
  f2fs: handle block cloning within the same large folio
  f2fs: allow large folio support to writeable files
  f2fs: make compressed files compatible with large folio

 Documentation/filesystems/f2fs.rst |   10 +
 fs/f2fs/checkpoint.c               |   40 +-
 fs/f2fs/compress.c                 |    7 +-
 fs/f2fs/data.c                     | 1467 +++++++++++++++++++++++++---
 fs/f2fs/dir.c                      |    2 +-
 fs/f2fs/f2fs.h                     |  170 +++-
 fs/f2fs/file.c                     |  226 +++--
 fs/f2fs/gc.c                       |   38 +-
 fs/f2fs/inline.c                   |    9 +-
 fs/f2fs/inode.c                    |    4 +-
 fs/f2fs/namei.c                    |    1 +
 fs/f2fs/node.c                     |    2 +-
 fs/f2fs/segment.c                  |    5 +-
 13 files changed, 1716 insertions(+), 265 deletions(-)

-- 
2.43.0


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

end of thread, other threads:[~2026-10-15 21:27 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-14  6:44 [PATCH v5 00/16] f2fs: support & optimize large folios for writable files Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 01/16] f2fs: extend folio state for large folio write path Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 02/16] f2fs: carry subpage offset and count in write IO Nanzhe Zhao
2026-10-15  2:37   ` [f2fs-dev] " Jaegeuk Kim
2026-10-14  6:44 ` [PATCH v5 03/16] f2fs: support regular file buffered writes on large folios Nanzhe Zhao
2026-10-15 13:11   ` Chao Yu
2026-10-14  6:44 ` [PATCH v5 04/16] f2fs: support atomic file large folios buffered write Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 05/16] f2fs: support large folio writeback Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 06/16] f2fs: account large folio dirty data at block granularity Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 07/16] f2fs: prepare mmap write faults for large folios Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 08/16] f2fs: make GC migration large-folio aware Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 09/16] f2fs: optimize small block size large folio read Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 10/16] f2fs: support partial uptodate " Nanzhe Zhao
2026-10-15 13:34   ` Chao Yu
2026-10-14  6:44 ` [PATCH v5 11/16] f2fs: handle partial truncate of large folio dirty subpages Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 12/16] f2fs: wait for folio writeback before ffs_detach_free Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 13/16] f2fs: fix zeroing paths for large folios Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 14/16] f2fs: handle block cloning within the same large folio Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 15/16] f2fs: allow large folio support to writeable files Nanzhe Zhao
2026-10-14  6:44 ` [PATCH v5 16/16] f2fs: make compressed files compatible with large folio Nanzhe Zhao
2026-10-14 23:23 ` [f2fs-dev] [PATCH v5 00/16] f2fs: support & optimize large folios for writable files Jaegeuk Kim
2026-10-15  2:13   ` Jaegeuk Kim
2026-10-15  2:36     ` Chao Yu
2026-10-15  3:33     ` Nanzhe Zhao
2026-10-15 16:19       ` Jaegeuk Kim
2026-10-15 21:27         ` Jaegeuk Kim
2026-10-15  8:40     ` Nanzhe Zhao

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®