mirror-linux/Documentation
Linus Torvalds 3e48a11675 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()
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE00UqedjCtOrGVvQiQBSofoJIUNIFAmmP3mYACgkQQBSofoJI
 UNIvMA//c0vFSIB2Gsfjt5rk2kxDSeuxQHDetKNPR/xzz/tRJHw6F0y+3oFPbQDa
 bI62/DbhHPiCienq07l1LZQd44pYgheQEYmYtf6A2wGduh+S1Cy1uYZRmKJwtcfv
 t8gZoFIle4rufz5GlWoY6L70jhSJmpLPYLItltL7mxgJL1cR7Ea3L+fOAmSp9YYT
 mo0zT3jTaYSbCqad9Cgoa6GU/HwrvimiGPRFBVsxkZItRSIY22CTA0DmnXkG2iys
 GgcNKR1qMcy44rrt4oLXrlffmqLQXtLn4F62K79or0PMby34pGEZldxr+sWDxr0p
 /1lFwwnnAFZiJ/z9TLjND5z3KmZtF0ng98QWqj0uoTYLyCAzgqDkvrStBz6pJjjb
 oA/0XOWPLAxIMbB3xipeICJTzFauR6Pg69e0A0oDvB2CfkHuSuUbhU47HPWNfi2n
 ASL1jcFVtF6mZr7iV23W2vFWqWz6ZKDi2ZTphaRu9UXrMkyB3OYxNDumbJCwbd8c
 pb6xf8UoXG2MDHwJPKRbSuznPTCbM2ZohoTgDmED8YcTdxc+CE3FVDGNdObZWU8w
 guA1HJQxScXPPPUHcTybXN4qOjO/ppJBRkoq2tBzd4iLr4V+gQNTTOmtK+wfuLsM
 LSK0mQiGj1VPJD950NXwervibgaxnv85iLLgVYccc4N+E8aoLbQ=
 =Ugvd
 -----END PGP SIGNATURE-----

Merge tag 'f2fs-for-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs

Pull f2fs updates from Jaegeuk Kim:
 "In this development cycle, we focused on several key performance
  optimizations:

   - introducing large folio support to enhance read speeds for
     immutable files

   - reducing checkpoint=enable latency by flushing only committed dirty
     pages

   - 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.

  Detail summary:

  Enhancements:
   - 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

  Fixes:
   - 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()"

* tag 'f2fs-for-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (61 commits)
  f2fs: sysfs: introduce critical_task_priority
  f2fs: introduce trace_f2fs_priority_update
  f2fs: fix lock priority inversion issue
  f2fs: optimize f2fs_overwrite_io() for f2fs_iomap_begin
  f2fs: fix incomplete block usage in compact SSA summaries
  f2fs: decrease maximum flush retry count in f2fs_enable_checkpoint()
  f2fs: optimize NAT block loading during checkpoint write
  f2fs: change size parameter of __has_cursum_space() to unsigned int
  f2fs: add write latency stats for NAT and SIT blocks in f2fs_write_checkpoint
  f2fs: pin files do not require sbi->writepages lock for ordering
  f2fs: fix to show simulate_lock_timeout correctly
  f2fs: introduce FAULT_SKIP_WRITE
  f2fs: check skipped write in f2fs_enable_checkpoint()
  Revert "f2fs: add timeout in f2fs_enable_checkpoint()"
  f2fs: fix to unlock folio in f2fs_read_data_large_folio()
  f2fs: fix error path handling in f2fs_read_data_large_folio()
  f2fs: use folio_end_read
  f2fs: fix to avoid mapping wrong physical block for swapfile
  f2fs: avoid f2fs_map_blocks() for consecutive holes in readpages
  f2fs: advance index and offset after zeroing in large folio read
  ...
2026-02-14 09:48:10 -08:00
..
ABI f2fs-for-7.0-rc1 2026-02-14 09:48:10 -08:00
PCI Networking changes for 7.0 2026-02-11 19:31:52 -08:00
RCU A slightly calmer cycle for docs this time around, though there is still a 2026-02-09 20:53:18 -08:00
accel
accounting delayacct: add timestamp of delay max 2026-01-31 16:16:06 -08:00
admin-guide Bootconfig for v7.0 2026-02-13 19:33:39 -08:00
arch RISC-V updates for v7.0 2026-02-12 19:17:44 -08:00
block
bpf bpf-next-7.0 2026-02-10 11:26:21 -08:00
cdrom
core-api virtio,vhost,vdpa: features, fixes 2026-02-13 12:02:18 -08:00
cpu-freq
crypto
dev-tools mm.git review status for linus..mm-nonmm-stable 2026-02-12 12:13:01 -08:00
devicetree * MTD 2026-02-13 15:06:58 -08:00
doc-guide
driver-api platform-drivers-x86 for v7.0-1 2026-02-13 15:39:15 -08:00
edac
fault-injection
fb
features s390: Document s390 stackprotector support 2026-02-03 12:48:27 +01:00
filesystems f2fs-for-7.0-rc1 2026-02-14 09:48:10 -08:00
firmware-guide docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
firmware_class
fpga
gpu drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
hid
hwmon hwmon updates for v7.0 2026-02-11 11:00:19 -08:00
i2c
iio
images
infiniband
input docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
isdn
kbuild Kbuild/Kconfig updates for 7.0 2026-02-11 13:40:35 -08:00
kernel-hacking
leds
litmus-tests
livepatch
locking
maintainer
mhi
misc-devices
mm mm.git review status for linus..mm-nonmm-stable 2026-02-12 12:13:01 -08:00
netlabel
netlink NFSD 7.0 Release Notes 2026-02-12 08:23:53 -08:00
networking Networking changes for 7.0 2026-02-11 19:31:52 -08:00
nvdimm
nvme
pcmcia
peci
power power supply and reset changes for the 7.0 series 2026-02-12 18:24:37 -08:00
process drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
rust Rust changes for v6.20 / v7.0 2026-02-10 11:53:01 -08:00
scheduler bpf-next-7.0 2026-02-10 11:26:21 -08:00
scsi SCSI misc on 20260212 2026-02-12 15:43:02 -08:00
security docs: trusted-encryped: add PKWM as a new trust source 2026-01-30 09:27:27 +05:30
sound docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
sphinx
sphinx-includes
sphinx-static
spi spi: Updates for v7.0 2026-02-11 09:43:43 -08:00
staging
sunrpc/xdr Add RPC language definition of NFSv4 POSIX ACL extension 2026-01-29 09:48:33 -05:00
target
tee
timers
tools RTLA patches for v7.0 2026-02-12 14:31:02 -08:00
trace tracing updates for 7.0: 2026-02-13 19:25:16 -08:00
translations mm.git review status for linus..mm-stable 2026-02-12 11:32:37 -08:00
usb
userspace-api virtio,vhost,vdpa: features, fixes 2026-02-13 12:02:18 -08:00
virt Loongarch: 2026-02-13 11:31:15 -08:00
w1
watchdog
wmi platform-drivers-x86 for v7.0-1 2026-02-13 15:39:15 -08:00
.gitignore
.renames.txt net: ethernet: neterion: s2io: remove unused driver 2026-01-28 20:08:07 -08:00
Changes
CodingStyle
Kconfig
Makefile
SubmittingPatches
atomic_bitops.txt
atomic_t.txt
conf.py
docutils.conf
index.rst
memory-barriers.txt
subsystem-apis.rst