linux/fs/jbd2
Linus Torvalds ac5feaad48 Add support for buffered iomap support in ext4. This is not enabled
by default, but requires the buffered_iomap mount option, as this mode
 does not support online defragmentation, inline data, fsverify,
 fscrypt, non-extent inodes, and data=journal mode.  If buffered_iomap
 is enabled, ext4 will fall back to the original I/O code path
 automatically if necessary.  Large writes show significant performance
 improvements when buffered iomap is enabled.
 
 There are also miscellaneous bug fixes and improvements, including for
 fast commit and avoiding deadlocks and out-of-bound reads when
 handling corner cases involving corrupted file systems.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEK2m5VNv+CHkogTfJ8vlZVpUNgaMFAmraDnsACgkQ8vlZVpUN
 gaND7Af/Q9kw8G2+5DS1Emi44hWXTsVFnRc9qGIZ3zChYD+oX9IZt+ipSxomFzal
 DiMTh0mHlwuixz5NdT6QgGUi1TQlOKrtHKV22orhLZBUsLcm0hwmXg8Xxk0pBhTH
 N8er1fDx2QKEt0p1u5E1g/YT4Mub7Iug5XD0Yzh6qTtboos/WLYt2rGryp49miLA
 q+4FWFQHYzyqqurIIx7dWdLRvzql+ffI4rEgtTm2yZP4ru8UGQZyK3SL7p/MpIu8
 jop2ubj6ESRHis96F5v4FfKyulnunCrSu3V7GmWlC9KG+iu/J/EdtQEioqHPSA1D
 uimwsmD1JG44iPhYrW8gIN4r0DohtQ==
 =PNwN
 -----END PGP SIGNATURE-----

Merge tag 'ext4_for_linus-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

Pull ext4 updates from Ted Ts'o:
 "Add support for buffered iomap support in ext4. This is not enabled by
  default, but requires the buffered_iomap mount option, as this mode
  does not support online defragmentation, inline data, fsverify,
  fscrypt, non-extent inodes, and data=journal mode. If buffered_iomap
  is enabled, ext4 will fall back to the original I/O code path
  automatically if necessary. Large writes show significant performance
  improvements when buffered iomap is enabled.

  There are also miscellaneous bug fixes and improvements, including for
  fast commit and avoiding deadlocks and out-of-bound reads when
  handling corner cases involving corrupted file systems"

* tag 'ext4_for_linus-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (41 commits)
  ext4: introduce a mount option for iomap buffered I/O path
  ext4: partially enable iomap for the buffered I/O path of regular files
  ext4: add tracepoints for EOF block zeroing and disksize-grow I/O
  ext4: add tracepoints for DISKSIZE_GROW_PENDING set, clear, and wait
  ext4: set DISKSIZE_GROW_PENDING after zeroing unaligned EOF block
  ext4: clear DISKSIZE_GROW_PENDING on truncate or error
  ext4: submit and wait for disksize-grow I/O in fallocate paths
  ext4: defer i_disksize update while DISKSIZE_GROW_PENDING is set
  ext4: advance i_disksize to i_size upon disksize-grow I/O completion
  ext4: submit and wait for pending disksize-grow I/O on writeback
  ext4: add EXT4_STATE_DISKSIZE_GROW_PENDING state bit and helpers
  ext4: disable online defrag when inode using iomap buffered I/O path
  ext4: add block mapping tracepoints for iomap buffered I/O path
  ext4: drain writeback before removing extents on the iomap path
  ext4: implement partial block zero range path using iomap
  ext4: implement mmap path using iomap
  ext4: implement writeback path using iomap
  ext4: rework handle credit accounting for unwritten extent conversion
  ext4: implement buffered write path using iomap
  ext4: do not use data=ordered mode for inodes using buffered iomap path
  ...
2026-10-25 16:09:13 -10:00
..
checkpoint.c jbd2: bound shrinker scans by examined checkpoint buffers 2026-07-22 12:36:24 -04:00
commit.c buffer: clear BH_Write_EIO when a write succeeds, not when one starts 2026-09-10 09:27:27 +02:00
journal.c Add support for buffered iomap support in ext4. This is not enabled 2026-10-25 16:09:13 -10:00
Kconfig jbd2: switch to using the crc32c library 2024-12-01 17:23:02 -08:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
recovery.c jbd2: remove journal_t argument from jbd2_chksum() 2025-05-20 10:31:12 -04:00
revoke.c jbd2: fix deadlock in jbd2_journal_cancel_revoke() 2026-04-09 22:09:39 -04:00
transaction.c jbd2: say what jbd2_freeze_jh_data()'s assertion is actually checking 2026-09-10 09:27:26 +02:00