From 61a4fa39a3326f37ce160dd2d77e1032f0caa8eb Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sun, 23 Feb 2025 22:19:07 -0500 Subject: [PATCH] 9p: don't bother with always_delete_dentry just set DCACHE_DONTCACHE for "don't cache" mounts... Reviewed-by: Christian Brauner Signed-off-by: Al Viro --- fs/9p/vfs_dentry.c | 1 - fs/9p/vfs_super.c | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/9p/vfs_dentry.c b/fs/9p/vfs_dentry.c index 5061f192eafda..04795508a7957 100644 --- a/fs/9p/vfs_dentry.c +++ b/fs/9p/vfs_dentry.c @@ -127,7 +127,6 @@ const struct dentry_operations v9fs_cached_dentry_operations = { }; const struct dentry_operations v9fs_dentry_operations = { - .d_delete = always_delete_dentry, .d_release = v9fs_dentry_release, .d_unalias_trylock = v9fs_dentry_unalias_trylock, .d_unalias_unlock = v9fs_dentry_unalias_unlock, diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c index 5c3dc3efb9093..795c6388744cd 100644 --- a/fs/9p/vfs_super.c +++ b/fs/9p/vfs_super.c @@ -134,10 +134,12 @@ static struct dentry *v9fs_mount(struct file_system_type *fs_type, int flags, if (retval) goto release_sb; - if (v9ses->cache & (CACHE_META|CACHE_LOOSE)) + if (v9ses->cache & (CACHE_META|CACHE_LOOSE)) { set_default_d_op(sb, &v9fs_cached_dentry_operations); - else + } else { set_default_d_op(sb, &v9fs_dentry_operations); + sb->s_d_flags |= DCACHE_DONTCACHE; + } inode = v9fs_get_new_inode_from_fid(v9ses, fid, sb); if (IS_ERR(inode)) { -- 2.47.2