* [GIT PULL] ext4 changes for 7.3-rc1
@ 2026-08-18 4:43 Theodore Tso
0 siblings, 0 replies; only message in thread
From: Theodore Tso @ 2026-08-18 4:43 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux Kernel Developers List, Ext4 Developers List
The following changes since commit a13c140cc289c0b7b3770bce5b3ad42ab35074aa:
Linux 7.2-rc3 (2026-07-12 14:16:39 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4_for_linus-7.3-rc1
for you to fetch changes up to 9091c97be34083587a75db174aab51551d8e8543:
ext4: fix estimate extent index blocks in ext4_ext_index_trans_blocks() (2026-08-06 22:52:28 -0400)
----------------------------------------------------------------
Various ext4 updates for 7.3-rc1, including:
* Improve performance by allowing parallel DIO writes when we were
previously being overly conservative when checking whether it was safe
to avoid requiring an exclusive lock
* Improve the performance of ext4_mb_prefetch() used by fallocate() by
avoiding work when it is not needed
* Remove the unnecessary custom end_io function ext4_end_buffer_io_sync()
* Improve performance when performing an overwrite to an already uptodate folio
* Clean up how we handle deallocating EA inodes to avoid a potential
lock ordering issue when there is a failed mount while an EA inode is
still being evicted.
* Use str_plural() instead of a custom macro
* Avoid soft lockups or RCU stalls if there are many busy buffers
(caused by heavy I/O) while checkpointing
* Use scoped NOFS when starting a handle in nojournal mode
* Align fields in handle structure to optimize setting and getting
the h_type and h_line_no fields
* Fix documentation of the meta_bg block group layout
* Bug fixes, including
- Fix a potential out-of-bounds read in ext4_read_inline_dir()
- Fix a potential deadlock when concurrent xattr operations are racing
with each other when some of the xattrs are using the ea_inode feature.
- Fix a spurious warning with data=journal that can be triggered when
writeback races with remounting the file system read-only
- Fix a potential deadlock when EXT4_IOC_MIGRATE races with a file system
freeze operation
- Make sure all in-flight direct I/O operations are complete before
falling back to buffered I/O.
- Handle IOCB_NOWAIT properly when performing a extending DAX write
- Prevent potentially sleeping on a block allocation when
IOCB_NOWAIT is set
- Fix potential races when racing an inline data write with a page fault
- Propagate errors when adding or removing extent ranges
during a fast commit replay
- Avoid trying to expand an inode's extra size when it is being
evicted to avoid a number of corner case or deadlocks
- Avoid spurious error when retrying inode extra size expansion
- Fix corner cases where we underestimate the number of journal
credits needed
- Avoid hangs/crashes/WARNINGS caused by maliciously corrupted
file systems
- Don't issue spurious orphan clean message on RO file systems
- Avoid leaving the file system in an inconsistent state after a
crash when a WRITE_ZEROS in progress converting an unwritten
extent to a written extent
- Handle WRITE_ZEROS correctly when there are some partially dirtied
regions in the page cache
- Pass errors during zero-rage, truncate, or punch hole to the caller
if ext4_get_block() fails
- Wait for writeback to finish when triggered by zero-range or
zero-range for those devices that require stable writes
- If the reserved gid superblock field is set, set the reserved gid
instead of the reserved uid
----------------------------------------------------------------
Aditya Prakash Srivastava (3):
ext4: fix ABBA deadlock in ext4_xattr_inode_cache_find()
ext4: use fsdata to track inline data write state and fix race
ext4: cleanup unused CONVERT_INLINE_DATA flag
Baokun Li (9):
ext4: reject mount if clusters/inodes per group are not 8-aligned
ext4: reduce max cluster size to match documented 256MB limit
ext4: reject mount if inodes per group is not a multiple of inodes per block
ext4: prevent sleeping allocation in NOWAIT write path
ext4: drain in-flight DIO before buffered write fallback
ext4: skip overwrite check for aligned non-extending DIO writes
ext4: base unaligned DIO lock decision on partial block zeroing
ext4: use kiocb_modified instead of file_modified in DIO/DAX write path
ext4: fix NOWAIT semantic violation in DAX extending writes
Bohdan Trach (2):
ext4: avoid RWM atomic in EXT4_MB_GRP_TEST_AND_SET_READ
ext4: get ext4_group_desc in ext4_mb_prefetch only when necessary
Eric Biggers (1):
ext4: don't enable DAX on new encrypted files
Gerald Yang (1):
ext4: clear stale xarray tags on folios skipped during writeback
Guanghui Yang (3):
ext4: propagate errors from fast commit range replay
ext4: clear error before retrying inode xattr space fallback
ext4: fix buffer_head leak in ext4_init_orphan_info
Jan Kara (4):
ext4: fix spurious message about orphan cleanup on RO fs
ext4: teach ext4_meta_trans_blocks() about number of allocated extents
ext4: fix transaction overflow during writeback
ext4: fix estimate extent index blocks in ext4_ext_index_trans_blocks()
Jia Zhu (2):
buffer: avoid tail commit walk for uptodate folios
ext4: avoid tail write_begin walk for uptodate folios
Jiazi Liu (1):
ext4: fix incorrect function call when initializing s_resgid
Joshua Crofts (1):
ext4: use str_plural() instead of custom macro
Junzhe Yu (1):
ext4: guard against NULL s_group_info in ext4_get_group_info
Matthew Wilcox (Oracle) (1):
ext4: remove ext4_end_buffer_io_sync()
Matthias Goergens (1):
ext4: stop retrying saturated xattr cache entries
Max Kellermann (2):
jbd2: check need_resched() when skipping busy checkpoint buffers
jbd2: bound shrinker scans by examined checkpoint buffers
Theodore Ts'o (2):
ext4: enable scoped NOFS when starting a handle in nojournal mode
jbd2: align h_type and h_line_no in the handle structure on byte boundaries
Xiang Mei (2):
ext4: fix out-of-bounds read in ext4_read_inline_dir()
ext4: check dir entry fits before reading the hash trailer in ext4_search_dir()
Yao Kai (1):
ext4: validate readdir offset before accessing dirent
Yun Zhou (8):
ext4: fix circular lock dependency in ext4_ext_migrate
ext4: skip extra isize expansion during mount to prevent deadlock
ext4: set EXT4_STATE_NO_EXPAND in ext4_evict_inode
ext4: introduce ext4_put_ea_inode() for safe deferred iput
ext4: convert all EA inode iput() calls to ext4_put_ea_inode()
ext4: remove ea_inode_array mechanism in favor of ext4_put_ea_inode()
fs: add iput_if_not_last() helper
ext4: validate EA inode i_nlink in ext4_xattr_inode_iget
Zhang Yi (10):
ext4: use FGP_WRITEBEGIN for tail block zeroing
ext4: skip tail block zeroing for inline data files
ext4: check return value of ext4_get_block() in ext4_load_tail_bh()
ext4: move partial block zeroing earlier in ext4_zero_range()
ext4: clarify return semantics of ext4_load_tail_bh()
ext4: track partial-zero outcome per edge in ext4_zero_partial_blocks()
ext4: zero out whole block for clean edges in WRITE_ZEROES
ext4: write back partial-zeroed edges in WRITE_ZEROES
ext4: export converted block count from ext4_convert_unwritten_extents()
ext4: protect WRITE_ZEROES written extents with orphan list
dardaoe (1):
Documentation: ext4: fix block_group layout when meta_bg is enabled
Documentation/filesystems/ext4/group_descr.rst | 9 +-
fs/buffer.c | 3 +
fs/ext4/balloc.c | 4 +
fs/ext4/crypto.c | 40 ++---
fs/ext4/dir.c | 20 ++-
fs/ext4/ext4.h | 40 +++--
fs/ext4/ext4_jbd2.c | 36 +++--
fs/ext4/ext4_jbd2.h | 6 +-
fs/ext4/extents.c | 182 +++++++++++++++++-----
fs/ext4/fast_commit.c | 37 ++---
fs/ext4/file.c | 151 +++++++++++++------
fs/ext4/ialloc.c | 4 +
fs/ext4/inline.c | 38 +++--
fs/ext4/inode.c | 207 +++++++++++++++++++-------
fs/ext4/mballoc.c | 21 +--
fs/ext4/migrate.c | 3 +-
fs/ext4/namei.c | 2 +
fs/ext4/orphan.c | 17 ++-
fs/ext4/super.c | 32 +++-
fs/ext4/xattr.c | 178 +++++++++++-----------
fs/ext4/xattr.h | 9 +-
fs/jbd2/checkpoint.c | 28 ++--
fs/jbd2/journal.c | 1 +
include/linux/fs.h | 15 ++
include/linux/jbd2.h | 11 +-
25 files changed, 734 insertions(+), 360 deletions(-)
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-18 4:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-18 4:43 [GIT PULL] ext4 changes for 7.3-rc1 Theodore Tso
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.