]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: remove EA inode entry from mbcache on inode eviction
authorJan Kara <jack@suse.cz>
Tue, 12 Jul 2022 10:54:22 +0000 (12:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:24:27 +0000 (14:24 +0200)
commit46076addddf2900b3e863b7f627a17f1ccacf43e
treef210d0cfe6de75635c336b3e8547cf00f1d42ffd
parent33ca97c499a85de17332e87ee319ea333d3f1242
ext4: remove EA inode entry from mbcache on inode eviction

[ Upstream commit ce4b72c551af34a83e0143bc4f9f200d0af55e94 ]

Currently we remove EA inode from mbcache as soon as its xattr refcount
drops to zero. However there can be pending attempts to reuse the inode
and thus refcount handling code has to handle the situation when
refcount increases from zero anyway. So save some work and just keep EA
inode in mbcache until it is getting evicted. At that moment we are sure
following iget() of EA inode will fail anyway (or wait for eviction to
finish and load things from the disk again) and so removing mbcache
entry at that moment is fine and simplifies the code a bit.

CC: stable@vger.kernel.org
Fixes: 75980e9575cf ("ext4: convert to mbcache2")
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220712105436.32204-3-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ext4/inode.c
fs/ext4/xattr.c
fs/ext4/xattr.h