[GIT PULL] f2fs for 6.19-rc1

Jaegeuk Kim
2025-12-08T20:42:42Z

Hi Linus,

Could you please consider this pull request?

Thanks,

The following changes since commit d2818517e3486d11c9bd55aca3e14059e4c69886:

Merge tag 'block-6.18-20251023' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux (2025-10-24 12:48:19 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git tags/f2fs-for-6.19-rc1

for you to fetch changes up to 76ee7fd6af6851ef78016139bd727057ba467c4e:

f2fs: ignore discard return value (2025-12-04 02:00:06 +0000)

----------------------------------------------------------------
f2fs-for-6.19-rc1

This series focuses on minor clean-ups and performance optimizations across
sysfs, documentation, debugfs, tracepoints, slab allocation, and GC.
Furthermore, it resolves several corner-case bugs caught by xfstests, as
well as issues related to 16KB page support and f2fs_enable_checkpoint.

Enhancement:
- wrap ASCII tables in literal blocks to fix LaTeX build
- optimize trace_f2fs_write_checkpoint with enums
- support to show curseg.next_blkoff in debugfs
- add a sysfs entry to show max open zones
- add fadvise tracepoint
- use global inline_xattr_slab instead of per-sb slab cache
- set default valid_thresh_ratio to 80 for zoned devices
- maintain one time GC mode is enabled during whole zoned GC cycle

Bug fix:
- ensure node page reads complete before f2fs_put_super() finishes
- fix to not account invalid blocks in get_left_section_blocks()
- revert summary entry count from 2048 to 512 in 16kb block support
- fix to detect recoverable inode during dryrun of find_fsync_dnodes()
- fix age extent cache insertion skip on counter overflow
- Add sanity checks before unlinking and loading inodes
- ensure minimum trim granularity accounts for all devices
- block cache/dio write during f2fs_enable_checkpoint()
- fix to propagate error from f2fs_enable_checkpoint()
- invalidate dentry cache on failed whiteout creation
- fix to avoid updating compression context during writeback
- fix to avoid updating zero-sized extent in extent cache
- fix to avoid potential deadlock

----------------------------------------------------------------
Baolin Liu (1):
f2fs: simplify list initialization in f2fs_recover_fsync_data()

Chaitanya Kulkarni (1):
f2fs: ignore discard return value

Chao Yu (19):
f2fs: clean up w/ bio_add_folio_nofail()
f2fs: convert add_ipu_page() to use folio
f2fs: use f2fs_filemap_get_folio() instead of f2fs_pagecache_get_page()
f2fs: use f2fs_filemap_get_folio() to support fault injection
f2fs: fix to avoid potential deadlock
f2fs: fix to avoid updating zero-sized extent in extent cache
f2fs: fix to avoid updating compression context during writeback
f2fs: use global inline_xattr_slab instead of per-sb slab cache
f2fs: fix to propagate error from f2fs_enable_checkpoint()
f2fs: block cache/dio write during f2fs_enable_checkpoint()
f2fs: fix to access i_size w/ i_size_read()
f2fs: fix return value of f2fs_recover_fsync_data()
f2fs: fix to detect recoverable inode during dryrun of find_fsync_dnodes()
f2fs: use memalloc_retry_wait() as much as possible
f2fs: introduce f2fs_schedule_timeout()
f2fs: change default schedule timeout value
f2fs: expand scalability of f2fs mount option
f2fs: support to show curseg.next_blkoff in debugfs
f2fs: fix to not account invalid blocks in get_left_section_blocks()

Daeho Jeong (3):
f2fs: maintain one time GC mode is enabled during whole zoned GC cycle
f2fs: set default valid_thresh_ratio to 80 for zoned devices
f2fs: revert summary entry count from 2048 to 512 in 16kb block support

Deepanshu Kartikey (1):
f2fs: invalidate dentry cache on failed whiteout creation

Jaegeuk Kim (1):
f2fs: add fadvise tracepoint

Jan Prusakowski (1):
f2fs: ensure node page reads complete before f2fs_put_super() finishes

Jiucheng Xu (1):
f2fs: Use mapping->gfp_mask to get file cache for writing

Masaharu Noguchi (1):
docs: f2fs: wrap ASCII tables in literal blocks to fix LaTeX build

Nikola Z. Ivanov (2):
f2fs: Rename f2fs_unlink exit label
f2fs: Add sanity checks before unlinking and loading inodes

Pedro Demarchi Gomes (1):
f2fs: use folio_nr_pages() instead of shift operation

Xiaole He (2):
f2fs: fix uninitialized one_time_gc in victim_sel_policy
f2fs: fix age extent cache insertion skip on counter overflow

YH Lin (1):
f2fs: optimize trace_f2fs_write_checkpoint with enums

Yongpeng Yang (4):
f2fs: change the unlock parameter of f2fs_put_page to bool
f2fs: ensure minimum trim granularity accounts for all devices
f2fs: wrap all unusable_blocks_per_sec code in CONFIG_BLK_DEV_ZONED
f2fs: add a sysfs entry to show max open zones

Documentation/ABI/testing/sysfs-fs-f2fs | 6 +
Documentation/filesystems/f2fs.rst | 131 ++++++++++----------
fs/f2fs/checkpoint.c | 10 +-
fs/f2fs/compress.c | 17 ++-
fs/f2fs/data.c | 50 +++++---
fs/f2fs/debug.c | 29 +++--
fs/f2fs/extent_cache.c | 5 +-
fs/f2fs/f2fs.h | 162 +++++++++++++++----------
fs/f2fs/file.c | 26 ++--
fs/f2fs/gc.c | 165 ++++++++++++++-----------
fs/f2fs/gc.h | 2 +-
fs/f2fs/inline.c | 4 +-
fs/f2fs/inode.c | 6 +
fs/f2fs/namei.c | 39 +++---
fs/f2fs/recovery.c | 31 ++---
fs/f2fs/segment.c | 63 ++++++----
fs/f2fs/segment.h | 21 +++-
fs/f2fs/super.c | 208 ++++++++++++++++----------------
fs/f2fs/sysfs.c | 9 ++
fs/f2fs/verity.c | 2 +-
fs/f2fs/xattr.c | 32 ++---
fs/f2fs/xattr.h | 10 +-
include/linux/f2fs_fs.h | 5 +-
include/trace/events/f2fs.h | 59 +++++++--
24 files changed, 643 insertions(+), 449 deletions(-)