fat: Sync and invalidate metadata buffers from fat_evict_inode()

There are only very few filesystems using generic metadata buffer head
tracking and everybody is paying the overhead. When we remove this
tracking for inode reclaim code .evict will start to see inodes with
metadata buffers attached so write them out and prune them.

Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20260326095354.16340-57-jack@suse.cz
Tested-by: syzbot@syzkaller.appspotmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
Jan Kara 2026-03-26 10:54:09 +01:00 committed by Christian Brauner
parent 5f36c9ca33
commit 63f1f4b6c9
No known key found for this signature in database
GPG Key ID: 91C61BC06578DCA2

View File

@ -657,8 +657,10 @@ static void fat_evict_inode(struct inode *inode)
if (!inode->i_nlink) {
inode->i_size = 0;
fat_truncate_blocks(inode, 0);
} else
} else {
sync_mapping_buffers(inode->i_mapping);
fat_free_eofblocks(inode);
}
invalidate_inode_buffers(inode);
clear_inode(inode);