[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20260212154721.GA2430983@mit.edu>
Date: Thu, 12 Feb 2026 10:47:21 -0500
From: "Theodore Ts'o" <tytso@....edu>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Linux Kernel Developers List <linux-kernel@...r.kernel.org>,
Ext4 Developers List <linux-ext4@...r.kernel.org>
Subject: [GIT PULL] ext4 changes for v7.0-rc1
The following changes since commit d250bdf531d9cd4096fedbb9f172bb2ca660c868:
ext4: fix iloc.bh leak in ext4_xattr_inode_update_ref (2026-01-18 11:23:10 -0500)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4_for_linus-7.0-rc1
for you to fetch changes up to 4f5e8e6f012349a107531b02eed5b5ace6181449:
et4: allow zeroout when doing written to unwritten split (2026-01-23 16:50:11 -0500)
----------------------------------------------------------------
New features and improvements for the ext4 file system
* Avoid unnecessary cache invadiation in the extent status cache
(es_cache) when adding extents to be cached in the es_cache and we
are not changing the extent tree.
* Add a sysfs parameter, err_report_sec, to control how frequently
to log a warning message that file system inconsistency has been
detected. (Previously we logged the warning message every 24
hours.)
* Avoid unnecessary forced ordered writes when appending to a file
when delayed allocation is enabled.
* Defer splitting unwritten extents to I/O completion to improve
write performance of concurrent direct I/O writes to multiple
files.
* Refactor and add kunit tests to the extent splitting and
conversion code paths.
Various Bug Fixes
* Fix a panic when the debugging DOUBLE_CHECK macro is defined.
* Avoid using fast commit for rare and complex file system
operations to make fast commit easier to reason about. This can
also avoid some corner cases that could result in file system
inconsistency if there is a crash between the fast commit before a
subsequent full commit.
* Fix memory leaks in error paths
* Fix a false positive reports caused when running stress tests
using mixed huge-page workloads caused by a race between page
migration and bitmap updates.
* Fix a potential recursion into file system reclaim when evicting
an inode when fast commit is enabled.
* Fix a warning caused by a potential double decrement to the dirty
clusters counter when executing FS_IOC_SHUTDOWN when running a
stress test.
* Enable mballoc optimzied scanning regardless whether the inode is
using indirect blocks or extent trees to map blocks.
----------------------------------------------------------------
Baokun Li (1):
ext4: move ext4_percpu_param_init() before ext4_mb_init()
Baolin Liu (2):
ext4: add sysfs attribute err_report_sec to control s_err_report timer
ext4: remove redundant NULL check after __GFP_NOFAIL
Brian Foster (1):
ext4: fix dirtyclusters double decrement on fs shutdown
Jan Kara (2):
ext4: always allocate blocks only from groups inode can use
ext4: use optimized mballoc scanning regardless of inode format
Li Chen (6):
ext4: mark inode format migration fast-commit ineligible
ext4: mark fs-verity enable fast-commit ineligible
ext4: mark move extents fast-commit ineligible
ext4: mark group add fast-commit ineligible
ext4: mark group extend fast-commit ineligible
ext4: fast commit: make s_fc_lock reclaim-safe
Ojaswin Mujoo (8):
ext4: kunit tests for extent splitting and conversion
ext4: kunit tests for higher level extent manipulation functions
ext4: add extent status cache support to kunit tests
ext4: propagate flags to convert_initialized_extent()
ext4: propagate flags to ext4_convert_unwritten_extents_endio()
ext4: refactor zeroout path and handle all cases
ext4: refactor split and convert extents
et4: allow zeroout when doing written to unwritten split
Yongjian Sun (1):
ext4: fix e4b bitmap inconsistency reports
Zhang Yi (22):
ext4: subdivide EXT4_EXT_DATA_VALID1
ext4: don't zero the entire extent if EXT4_EXT_DATA_PARTIAL_VALID1
ext4: don't set EXT4_GET_BLOCKS_CONVERT when splitting before submitting I/O
ext4: correct the mapping status if the extent has been zeroed
ext4: don't cache extent during splitting extent
ext4: drop extent cache after doing PARTIAL_VALID1 zeroout
ext4: drop extent cache when splitting extent fails
ext4: cleanup zeroout in ext4_split_extent_at()
ext4: cleanup useless out label in __es_remove_extent()
ext4: make __es_remove_extent() check extent status
ext4: make ext4_es_cache_extent() support overwrite existing extents
ext4: adjust the debug info in ext4_es_cache_extent()
ext4: replace ext4_es_insert_extent() when caching on-disk extents
ext4: drop the TODO comment in ext4_es_insert_extent()
ext4: don't order data when zeroing unwritten or delayed block
ext4: use reserved metadata blocks when splitting extent on endio
ext4: don't split extent before submitting I/O
ext4: avoid starting handle when dio writing an unwritten extent
ext4: remove useless ext4_iomap_overwrite_ops
ext4: remove unused unwritten parameter in ext4_dio_write_iter()
ext4: simplify the mapping query logic in ext4_iomap_begin()
ext4: remove EXT4_GET_BLOCKS_IO_CREATE_EXT
Zilin Guan (1):
ext4: fix memory leak in ext4_ext_shift_extents()
pengdonglin (1):
ext4: remove unnecessary zero-initialization via memset
fs/ext4/ext4.h | 34 +-
fs/ext4/extents-test.c | 1027 +++++++++++++++++++++++++++++++++++++++++++++++++
fs/ext4/extents.c | 606 ++++++++++++++++-------------
fs/ext4/extents_status.c | 125 ++++--
fs/ext4/fast_commit.c | 54 +--
fs/ext4/fast_commit.h | 3 +
fs/ext4/file.c | 24 +-
fs/ext4/inode.c | 94 ++---
fs/ext4/ioctl.c | 3 +
fs/ext4/mballoc-test.c | 2 +-
fs/ext4/mballoc.c | 73 ++--
fs/ext4/migrate.c | 12 +
fs/ext4/move_extent.c | 2 +
fs/ext4/super.c | 37 +-
fs/ext4/sysfs.c | 36 ++
fs/ext4/verity.c | 2 +
include/trace/events/ext4.h | 8 +-
17 files changed, 1679 insertions(+), 463 deletions(-)
create mode 100644 fs/ext4/extents-test.c
Powered by blists - more mailing lists