]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
minix: Sync and invalidate metadata buffers from minix_evict_inode()
authorJan Kara <jack@suse.cz>
Thu, 26 Mar 2026 09:54:11 +0000 (10:54 +0100)
committerChristian Brauner <brauner@kernel.org>
Thu, 26 Mar 2026 14:03:29 +0000 (15:03 +0100)
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-59-jack@suse.cz
Tested-by: syzbot@syzkaller.appspotmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/minix/inode.c

index 99541c6a5bbf13f3be27474a316b31d8db9fbce0..ab7c06efb13986d9e192ec2b362b8739f58b3fe8 100644 (file)
@@ -48,6 +48,8 @@ static void minix_evict_inode(struct inode *inode)
        if (!inode->i_nlink) {
                inode->i_size = 0;
                minix_truncate(inode);
+       } else {
+               sync_mapping_buffers(&inode->i_data);
        }
        invalidate_inode_buffers(inode);
        clear_inode(inode);