linux/fs/ext4
Linus Torvalds c8ed3a15a7 vfs-7.2-rc1.bh
Please consider pulling these changes from the signed vfs-7.2-rc1.bh tag.
 
 Thanks!
 Christian
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCaiwLKgAKCRCRxhvAZXjc
 ohE9AQC1p/bgcyPbHoSvFgBmq63rhwfYK/vcd6JJZ9iGuSNDnQEAq6idE8Wo18+J
 xVHLzL5K0aNvt0X3SZZS5BlDyeBhjAg=
 =kkX9
 -----END PGP SIGNATURE-----

Merge tag 'vfs-7.2-rc1.bh' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull buffer_head updates from Christian Brauner:
 "This removes b_end_io from struct buffer_head.

  Instead of setting bio->bi_end_io to end_bio_bh_io_sync() which then
  calls bh->b_end_io(), the new bh_submit() and __bh_submit() interfaces
  set bio->bi_end_io to the appropriate completion handler directly,
  replacing two indirect function calls in the completion path with one.
  It is also one fewer function pointer in the middle of a writable data
  structure that can be corrupted, it shrinks struct buffer_head from
  104 to 96 bytes allowing roughly 7% more buffer_heads to be cached in
  the same amount of memory, and it removes some atomic operations as
  the buffer refcount is no longer incremented before calling the end_io
  handler.

  All in-tree users (fs/buffer.c itself, ext4, jbd2, ocfs2, gfs2,
  nilfs2, and md-bitmap) are converted, and submit_bh(),
  mark_buffer_async_write(), and end_buffer_write_sync() are removed"

* tag 'vfs-7.2-rc1.bh' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (34 commits)
  buffer: Remove end_buffer_write_sync()
  buffer: Change calling convention for end_buffer_read_sync()
  buffer: Remove b_end_io
  buffer: Remove submit_bh()
  md-bitmap: Convert read_file_page and write_file_page to bh_submit()
  nilfs2: Convert nilfs_mdt_submit_block to bh_submit()
  nilfs2: Convert nilfs_gccache_submit_read_data to bh_submit()
  nilfs2: Convert nilfs_btnode_submit_block to bh_submit()
  buffer: Remove mark_buffer_async_write()
  gfs2: Convert gfs2_aspace_write_folio to bh_submit()
  gfs2: Remove use of b_end_io in gfs2_meta_read_endio()
  gfs2: Convert gfs2_dir_readahead to bh_submit()
  gfs2: Convert gfs2_metapath_ra to bh_submit()
  ocfs2: Convert ocfs2_write_super_or_backup to bh_submit()
  ocfs2: Convert ocfs2_read_blocks to bh_submit()
  ocfs2: Convert ocfs2_read_block to bh_submit()
  ocfs2: Convert ocfs2_write_block to bh_submit()
  jbd2: Convert jbd2_write_superblock() to bh_submit()
  jbd2: Convert journal commit to bh_submit()
  ext4: Convert ext4_commit_super() to bh_submit()
  ...
History 2026-06-15 03:36:08 +05:30
..
.kunitconfig ext4: add .kunitconfig fragment to enable ext4-specific tests 2021-02-11 23:16:30 -05:00
acl.c ext4: convert to ctime accessor functions 2023-07-24 10:29:54 +02:00
acl.h Revert "ext4: apply umask if ACL support is disabled" 2024-05-02 18:25:39 -04:00
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.h ext4; Convert __ext4_read_bh() to bh_submit() 2026-06-04 10:28:07 +02: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
extents-test.c ext4: convert extents KUnit test to sget_fc() 2026-06-03 09:09:50 +02:00
extents.c Various clean ups and bug fixes in ext4 for 7.1: 2026-04-17 17:08:31 -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
fast_commit.c ext4: Convert ext4_fc_submit_bh() to bh_submit() 2026-06-04 10:28:07 +02: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 ext4: fsmap: fix the block/inode bitmap comment 2021-06-24 09:48:29 -04:00
fsync.c vfs-7.1-rc1.bh.metadata 2026-04-13 12:46:42 -07:00
hash.c ext4: make error code in __ext4fs_dirhash() consistent. 2025-11-06 10:32:33 -05: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 ext4: add missing MODULE_DESCRIPTION() 2024-07-05 16:07:24 -04:00
inode.c Various clean ups and bug fixes in ext4 for 7.1: 2026-04-17 17:08:31 -07:00
ioctl.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
Kconfig ext4: remove obsolete EXT3 config options 2025-09-25 14:47:05 -04:00
Makefile ext4: fix extents-test.c is not compiled when EXT4_KUNIT_TESTS=M 2026-03-27 23:36:06 -04:00
mballoc-test.c ext4: convert mballoc KUnit test to sget_fc() 2026-06-03 09:09:50 +02: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 Various clean ups and bug fixes in ext4 for 7.1: 2026-04-17 17:08:31 -07:00
orphan.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
page-io.c mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07: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 ext4: Convert ext4_commit_super() to bh_submit() 2026-06-04 10:28:08 +02: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 ext4: Convert to use mapping->invalidate_lock 2021-07-13 14:29:00 +02:00
verity.c fsverity updates for 7.0 2026-02-12 10:41:34 -08:00
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
xattr_hurd.c fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00
xattr_security.c fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00
xattr_trusted.c fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00
xattr_user.c fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00