]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ext4: make recently_deleted() properly work with lazy itable initialization
authorJan Kara <jack@suse.cz>
Mon, 16 Feb 2026 16:48:43 +0000 (17:48 +0100)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 28 Mar 2026 03:30:37 +0000 (23:30 -0400)
commitbd060afa7cc3e0ad30afa9ecc544a78638498555
tree9291e62e5b67b16c99b5f6f8dcc6303ab7cefcee
parentb1d682f1990c19fb1d5b97d13266210457092bcd
ext4: make recently_deleted() properly work with lazy itable initialization

recently_deleted() checks whether inode has been used in the near past.
However this can give false positive result when inode table is not
initialized yet and we are in fact comparing to random garbage (or stale
itable block of a filesystem before mkfs). Ultimately this results in
uninitialized inodes being skipped during inode allocation and possibly
they are never initialized and thus e2fsck complains.  Verify if the
inode has been initialized before checking for dtime.

Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://patch.msgid.link/20260216164848.3074-3-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
fs/ext4/ialloc.c