]> git.ipfire.org Git - thirdparty/linux.git/commit
fsnotify: Shutdown fsnotify before destroying sb's dcache
authorJan Kara <jack@suse.cz>
Wed, 15 Oct 2025 14:06:33 +0000 (16:06 +0200)
committerJan Kara <jack@suse.cz>
Fri, 23 Jan 2026 12:26:45 +0000 (13:26 +0100)
commit74bd284537b3447c651588101c32a203e4fe1a32
treeee7b44b3d8cf20f36058716485d48759a2d3d2c7
parenta05fc7edd988c176491487ef0ae4dbf5f7a64cd7
fsnotify: Shutdown fsnotify before destroying sb's dcache

Currently fsnotify_sb_delete() was called after we have evicted
superblock's dcache and inode cache. This was done mainly so that we
iterate as few inodes as possible when removing inode marks. However, as
Jakub reported, this is problematic because for some filesystems
encoding of file handles uses sb->s_root which gets cleared as part of
dcache eviction. And either delayed fsnotify events or reading fdinfo
for fsnotify group with marks on fs being unmounted may trigger encoding
of file handles during unmount. So move shutdown of fsnotify subsystem
before shrinking of dcache.

Link: https://lore.kernel.org/linux-fsdevel/CAOQ4uxgXvwumYvJm3cLDFfx-TsU3g5-yVsTiG=6i8KS48dn0mQ@mail.gmail.com/
Reported-by: Jakub Acs <acsjakub@amazon.de>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/super.c