Hi Linus,

Could you please consider this pull request?

Thanks,

The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:

  Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)

are available in the Git repository at:

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

for you to fetch changes up to 52190933c37a96164b271f3f30c16099d9eb8c09:

  f2fs: sysfs: introduce critical_task_priority (2026-02-10 20:53:21 +0000)

----------------------------------------------------------------
f2fs-for-7.0-rc1

In this development cycle, we focused on several key performance optimizations:
1) introducing large folio support to enhance read speeds for immutable files,
2) reducing checkpoint=enable latency by flushing only committed dirty pages,
and 3) implementing tracepoints to diagnose and resolve lock priority inversion.
Additionally, we introduced the packed_ssa feature to optimize the SSA footprint
when utilizing large block sizes.

Enhancement:
 - support large folio for immutable non-compressed case
 - support non-4KB block size without packed_ssa feature
 - optimize f2fs_enable_checkpoint() to avoid long delay
 - optimize f2fs_overwrite_io() for f2fs_iomap_begin
 - optimize NAT block loading during checkpoint write
 - add write latency stats for NAT and SIT blocks in f2fs_write_checkpoint
 - pin files do not require sbi->writepages lock for ordering
 - avoid f2fs_map_blocks() for consecutive holes in readpages
 - flush plug periodically during GC to maximize readahead effect
 - add tracepoints to catch lock overheads
 - add several sysfs entries to tune internal lock priorities

Bug fix:
 - fix lock priority inversion issue
 - fix incomplete block usage in compact SSA summaries
 - fix to show simulate_lock_timeout correctly
 - fix to avoid mapping wrong physical block for swapfile
 - fix IS_CHECKPOINTED flag inconsistency issue caused by concurrent atomic
   commit and checkpoint writes
 - fix to avoid UAF in f2fs_write_end_io()

----------------------------------------------------------------
Chao Yu (33):
      f2fs: fix to do sanity check on nat entry of quota inode
      f2fs: add lock elapsed time trace facility for f2fs rwsemphore
      f2fs: sysfs: introduce max_lock_elapsed_time
      f2fs: trace elapsed time for cp_rwsem lock
      f2fs: trace elapsed time for node_change lock
      f2fs: trace elapsed time for node_write lock
      f2fs: trace elapsed time for gc_lock lock
      f2fs: trace elapsed time for cp_global_sem lock
      f2fs: trace elapsed time for io_rwsem lock
      f2fs: clean up w/ __f2fs_schedule_timeout()
      f2fs: fix to use jiffies based precision for DEFAULT_SCHEDULE_TIMEOUT
      f2fs: fix timeout precision of f2fs_io_schedule_timeout_killable()
      f2fs: rename FAULT_TIMEOUT to FAULT_ATOMIC_TIMEOUT
      f2fs: introduce FAULT_LOCK_TIMEOUT
      f2fs: sysfs: introduce inject_lock_timeout
      f2fs: fix to check sysfs filename w/ gc_pin_file_thresh correctly
      Revert "f2fs: block cache/dio write during f2fs_enable_checkpoint()"
      f2fs: fix to avoid UAF in f2fs_write_end_io()
      f2fs: make FAULT_DISCARD obsolete
      f2fs: fix to do sanity check on node footer in __write_node_folio()
      f2fs: fix to do sanity check on node footer in {read,write}_end_io
      f2fs: detect more inconsistent cases in sanity_check_node_footer()
      f2fs: avoid f2fs_map_blocks() for consecutive holes in readpages
      f2fs: fix to avoid mapping wrong physical block for swapfile
      f2fs: fix error path handling in f2fs_read_data_large_folio()
      f2fs: fix to unlock folio in f2fs_read_data_large_folio()
      f2fs: check skipped write in f2fs_enable_checkpoint()
      f2fs: introduce FAULT_SKIP_WRITE
      f2fs: fix to show simulate_lock_timeout correctly
      f2fs: decrease maximum flush retry count in f2fs_enable_checkpoint()
      f2fs: fix lock priority inversion issue
      f2fs: introduce trace_f2fs_priority_update
      f2fs: sysfs: introduce critical_task_priority

Daeho Jeong (3):
      f2fs: flush plug periodically during GC to maximize readahead effect
      f2fs: support non-4KB block size without packed_ssa feature
      f2fs: fix incomplete block usage in compact SSA summaries

Jaegeuk Kim (4):
      f2fs: support large folio for immutable non-compressed case
      f2fs: add a tracepoint to see large folio read submission
      f2fs: use folio_end_read
      Revert "f2fs: add timeout in f2fs_enable_checkpoint()"

Joanne Chang (1):
      f2fs: improve check for enough free sections

Nanzhe Zhao (4):
      f2fs: Zero f2fs_folio_state on allocation
      f2fs: Accounting large folio subpages before bio submission
      f2fs: add 'folio_in_bio' to handle readahead folios with no BIO submission
      f2fs: advance index and offset after zeroing in large folio read

Yangyang Zang (1):
      f2fs: clean up the type parameter in f2fs_sync_meta_pages()

Yeongjin Gil (1):
      f2fs: optimize f2fs_overwrite_io() for f2fs_iomap_begin

Yongpeng Yang (11):
      f2fs: clean up the force parameter in __submit_merged_write_cond()
      f2fs: return immediately after submitting the specified folio in 
__submit_merged_write_cond
      f2fs: remove non-uptodate folio from the page cache in move_data_block
      f2fs: fix out-of-bounds access in sysfs attribute read/write
      f2fs: change seq_file_ra_mul and max_io_bytes to unsigned int
      f2fs: fix IS_CHECKPOINTED flag inconsistency issue caused by concurrent 
atomic commit and checkpoint writes
      f2fs: avoid unnecessary block mapping lookups in 
f2fs_read_data_large_folio
      f2fs: pin files do not require sbi->writepages lock for ordering
      f2fs: add write latency stats for NAT and SIT blocks in 
f2fs_write_checkpoint
      f2fs: change size parameter of __has_cursum_space() to unsigned int
      f2fs: optimize NAT block loading during checkpoint write

ZhaoYueNan (1):
      f2fs: Update the default value of the documentation ckpt_thread_ioprio

Zhiguo Niu (2):
      f2fs: remove some redundant codes in f2fs_quota_enable
      f2fs: fix to add gc count stat in f2fs_gc_range

 Documentation/ABI/testing/sysfs-fs-f2fs |  62 ++++-
 Documentation/filesystems/f2fs.rst      |  49 +++-
 fs/f2fs/checkpoint.c                    | 247 ++++++++++++++++--
 fs/f2fs/compress.c                      |  18 +-
 fs/f2fs/data.c                          | 436 +++++++++++++++++++++++++++-----
 fs/f2fs/debug.c                         |   1 +
 fs/f2fs/f2fs.h                          | 251 +++++++++++++-----
 fs/f2fs/file.c                          |  84 +++---
 fs/f2fs/gc.c                            |  86 ++++---
 fs/f2fs/inline.c                        |  10 +-
 fs/f2fs/inode.c                         |  16 +-
 fs/f2fs/namei.c                         |  65 +++--
 fs/f2fs/node.c                          |  99 ++++++--
 fs/f2fs/node.h                          |   8 -
 fs/f2fs/recovery.c                      |  11 +-
 fs/f2fs/segment.c                       | 133 +++++-----
 fs/f2fs/segment.h                       | 108 ++++----
 fs/f2fs/super.c                         | 202 +++++++++------
 fs/f2fs/sysfs.c                         | 111 +++++++-
 fs/f2fs/xattr.c                         |   5 +-
 include/linux/f2fs_fs.h                 |  73 ++++--
 include/trace/events/f2fs.h             | 142 ++++++++++-
 22 files changed, 1671 insertions(+), 546 deletions(-)


_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to