]> Gentwo Git Trees - linux/.git/commit
ext4: fix checks for orphan inodes
authorJan Kara <jack@suse.cz>
Thu, 25 Sep 2025 12:30:39 +0000 (14:30 +0200)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 26 Sep 2025 12:36:08 +0000 (08:36 -0400)
commitacf943e9768ec9d9be80982ca0ebc4bfd6b7631e
tree8aba127944c19cb2518de69a2753ee6b73129e6d
parent44d2a72f4d64655f906ba47a5e108733f59e6f28
ext4: fix checks for orphan inodes

When orphan file feature is enabled, inode can be tracked as orphan
either in the standard orphan list or in the orphan file. The first can
be tested by checking ei->i_orphan list head, the second is recorded by
EXT4_STATE_ORPHAN_FILE inode state flag. There are several places where
we want to check whether inode is tracked as orphan and only some of
them properly check for both possibilities. Luckily the consequences are
mostly minor, the worst that can happen is that we track an inode as
orphan although we don't need to and e2fsck then complains (resulting in
occasional ext4/307 xfstest failures). Fix the problem by introducing a
helper for checking whether an inode is tracked as orphan and use it in
appropriate places.

Fixes: 4a79a98c7b19 ("ext4: Improve scalability of ext4 orphan file handling")
Cc: stable@kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Message-ID: <20250925123038.20264-2-jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/file.c
fs/ext4/inode.c
fs/ext4/orphan.c
fs/ext4/super.c