linux/fs/ext4
Linus Torvalds 83f1454877 Various ext4 updates for 7.2-rc1:
* A major rework of the fast commit mechanism to avoid lock
   contention and deadlocks.  We also export snapshot statistics
   in /proc/fs/ext4/*/fc_info.
 * Performance optimization for directory hash computation by
   processing input in 4-byte chunks and removing function pointers,
   along with new KUnit tests for directory hash.
 * Cleanups in JBD2 to remove special slabs and use kmalloc() instead.
 * Various bug fixes, including:
    - Early validation of donor superblock in EXT4_IOC_MOVE_EXT to avoid
      cross-fs deadlock
    - Fix for a kernel BUG in ext4_write_inline_data_end under
      data=journal
    - Fix for a NULL dereference in jbd2_journal_dirty_metadata when
      handle is aborted
    - Fix for an underflow in JBD2 fast commit block initialization check
    - Fix for LOGFLUSH shutdown ordering to ensure ordered data writeback
    - Miscellaneous fixes for error path return values and KUnit assertions.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEK2m5VNv+CHkogTfJ8vlZVpUNgaMFAmoz6iIACgkQ8vlZVpUN
 gaMSQwf+ICmzStB4tjmfWTbLo7/LXZVsuWYCcutQm1ToioZep+5javE4R5J+lW7H
 h8g7dnkIfg5RSx6VtdAwff0RqB1kprvyoUD2Qkx3DOqzGqGPHyhgczggq/HOLGDv
 Rylnv/jpK0UCyK5ilmsBDYeLvFHqXlR5bWfeJmXlVQZyFJiMkYao0uCGRJwZ7A/b
 ErMPi/v6jK8Ofv+sQlHmA3wwsnoSSlmZOzfj6Rh5TvComaGg4Mtb0rj6Sh7U1k5L
 7YY/OgQBlY6pocxagqY8HLs2NJbKeTFoAH557UdUIEHoWm4RWTLqahou7yyNmyIb
 By8582Bjy7hs8sbavEh/3qx87qTMCw==
 =AP6z
 -----END PGP SIGNATURE-----

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

Pull ext4 updates from Ted Ts'o:

 - A major rework of the fast commit mechanism to avoid lock contention
   and deadlocks. We also export snapshot statistics in
   /proc/fs/ext4/*/fc_info

 - Performance optimization for directory hash computation by processing
   input in 4-byte chunks and removing function pointers, along with new
   KUnit tests for directory hash

 - Cleanups in JBD2 to remove special slabs and use kmalloc() instead

 - Various bug fixes, including:
     - Early validation of donor superblock in EXT4_IOC_MOVE_EXT to
       avoid cross-fs deadlock
     - Fix for a kernel BUG in ext4_write_inline_data_end under
       data=journal
     - Fix for a NULL dereference in jbd2_journal_dirty_metadata when
       handle is aborted
     - Fix for an underflow in JBD2 fast commit block initialization
       check
     - Fix for LOGFLUSH shutdown ordering to ensure ordered data
       writeback
     - Miscellaneous fixes for error path return values and KUnit
       assertions

* tag 'ext4_for_linus-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: validate donor file superblock early in EXT4_IOC_MOVE_EXT
  ext4: fix kernel BUG in ext4_write_inline_data_end
  ext4: fix ERR_PTR(0) in ext4_mkdir()
  jbd2: remove special jbd2 slabs
  ext4: remove mention of PageWriteback
  ext4: improve str2hashbuf by processing 4-byte chunks and removing function pointers
  ext4: add Kunit coverage for directory hash computation
  ext4: fast commit: export snapshot stats in fc_info
  ext4: fast commit: add lock_updates tracepoint
  ext4: fast commit: avoid i_data_sem by dropping ext4_map_blocks() in snapshots
  ext4: fast commit: avoid self-deadlock in inode snapshotting
  ext4: fast commit: avoid waiting for FC_COMMITTING
  ext4: lockdep: handle i_data_sem subclassing for special inodes
  ext4: fast commit: snapshot inode state before writing log
  jbd2: fix integer underflow in jbd2_journal_initialize_fast_commit()
  ext4: fix fast commit wait/wake bit mapping on 64-bit
  jbd2: check for aborted handle in jbd2_journal_dirty_metadata()
  ext4: Use %pe to print PTR_ERR()
  ext4: fix LOGFLUSH shutdown ordering to allow ordered-mode data writeback
  ext4: replace KUnit tests for memcmp() with KUNIT_ASSERT_MEMEQ()
2026-06-18 09:42:02 -07:00
..
.kunitconfig
acl.c
acl.h
balloc.c fs/ext4: fix typo in comment 2025-11-26 17:13:34 -05:00
bitmap.c ext4: remove sbi argument from ext4_chksum() 2025-05-20 10:31:12 -04:00
block_validity.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
crypto.c ext4: fix journal credit check when setting fscrypt context 2026-03-27 23:30:25 -04:00
dir.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
ext4_extents.h ext4: fix extents-test.c is not compiled when EXT4_KUNIT_TESTS=M 2026-03-27 23:36:06 -04:00
ext4_jbd2.c ext4: Track metadata bhs in fs-private inode part 2026-03-26 15:03:32 +01:00
ext4_jbd2.h ext4/jbd2: convert jbd2_journal_blocks_per_page() to support large folio 2025-05-20 10:31:12 -04:00
ext4.h Various ext4 updates for 7.2-rc1: 2026-06-18 09:42:02 -07:00
extents_status.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
extents_status.h ext4: make ext4_es_lookup_extent() pass out the extent seq counter 2025-11-06 10:44:39 -05:00
extents-test.c ext4: convert extents KUnit test to sget_fc() 2026-06-03 09:09:50 +02:00
extents.c ext4: Use %pe to print PTR_ERR() 2026-06-01 08:25:38 -04:00
fast_commit.c Various ext4 updates for 7.2-rc1: 2026-06-18 09:42:02 -07:00
fast_commit.h ext4: mark move extents fast-commit ineligible 2026-01-19 19:26:35 -05:00
file.c Various clean ups and bug fixes in ext4 for 7.1: 2026-04-17 17:08:31 -07:00
fsmap.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
fsmap.h
fsync.c vfs-7.1-rc1.bh.metadata 2026-04-13 12:46:42 -07:00
hash-test.c ext4: add Kunit coverage for directory hash computation 2026-06-03 10:30:15 -04:00
hash.c ext4: improve str2hashbuf by processing 4-byte chunks and removing function pointers 2026-06-03 10:30:15 -04:00
ialloc.c vfs-7.2-rc1.bh 2026-06-15 03:36:08 +05:30
indirect.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
inline.c vfs-7.1-rc1.kino 2026-04-13 12:19:01 -07:00
inode-test.c
inode.c ext4: fix kernel BUG in ext4_write_inline_data_end 2026-06-10 10:53:50 -04:00
ioctl.c ext4: validate donor file superblock early in EXT4_IOC_MOVE_EXT 2026-06-10 10:53:50 -04:00
Kconfig ext4: remove obsolete EXT3 config options 2025-09-25 14:47:05 -04:00
Makefile ext4: add Kunit coverage for directory hash computation 2026-06-03 10:30:15 -04:00
mballoc-test.c Various ext4 updates for 7.2-rc1: 2026-06-18 09:42:02 -07:00
mballoc.c Various clean ups and bug fixes in ext4 for 7.1: 2026-04-17 17:08:31 -07:00
mballoc.h ext4: fix mballoc-test.c is not compiled when EXT4_KUNIT_TESTS=M 2026-03-27 23:36:02 -04:00
migrate.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
mmp.c ext4: Convert write_mmp_block_thawed() to bh_submit() 2026-06-04 10:28:08 +02:00
move_extent.c Various clean ups and bug fixes in ext4 for 7.1: 2026-04-17 17:08:31 -07:00
namei.c ext4: fix ERR_PTR(0) in ext4_mkdir() 2026-06-10 10:43:24 -04:00
orphan.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
page-io.c ext4: remove mention of PageWriteback 2026-06-10 10:38:48 -04:00
readpage.c mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
resize.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
super.c Various ext4 updates for 7.2-rc1: 2026-06-18 09:42:02 -07:00
symlink.c ext4: prefer IS_ERR_OR_NULL over manual NULL check 2026-04-09 21:27:24 -04:00
sysfs.c ext4: fix use-after-free in update_super_work when racing with umount 2026-03-27 23:37:39 -04:00
truncate.h
verity.c fsverity updates for 7.0 2026-02-12 10:41:34 -08:00
xattr_hurd.c
xattr_security.c
xattr_trusted.c
xattr_user.c
xattr.c Various clean ups and bug fixes in ext4 for 7.1: 2026-04-17 17:08:31 -07:00
xattr.h ext4: fix out-of-bound read in ext4_xattr_inode_dec_ref_all() 2025-03-18 00:15:19 -04:00