From: Kent Overstreet Date: Thu, 24 Apr 2025 22:07:06 +0000 (-0400) Subject: bcachefs: unlink: casefold d_invalidate X-Git-Tag: v6.15-rc4~27^2~9 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=7cb85324c4f6817d5147b9d298c71bf9b5e87c6b;p=linux-block.git bcachefs: unlink: casefold d_invalidate casefolding results in additional aliases on lookup for the non-casefolded names - these need invalidating on unlink. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c index c73e97052816..5b716ffde500 100644 --- a/fs/bcachefs/fs.c +++ b/fs/bcachefs/fs.c @@ -847,6 +847,11 @@ int __bch2_unlink(struct inode *vdir, struct dentry *dentry, */ set_nlink(&inode->v, 0); } + + if (IS_CASEFOLDED(vdir)) { + d_invalidate(dentry); + d_prune_aliases(&inode->v); + } err: bch2_trans_put(trans); bch2_unlock_inodes(INODE_UPDATE_LOCK, dir, inode);