summaryrefslogtreecommitdiff
path: root/fs/dcache.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2023-11-12 00:04:46 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2023-11-25 02:49:38 -0500
commit9024b4c96576162a13e58003b0d58e93ebe3ac33 (patch)
tree8edd532d1c71b2ce67924107376c476ffcfb8388 /fs/dcache.c
parentf2824db1b49f947ba6e208ddf02edf4b1391480a (diff)
d_alloc_pseudo(): move setting ->d_op there from the (sole) caller
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/dcache.c')
-rw-r--r--fs/dcache.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/dcache.c b/fs/dcache.c
index 6c520eda131f..5947556b6e90 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1890,9 +1890,15 @@ struct dentry *d_alloc_cursor(struct dentry * parent)
*/
struct dentry *d_alloc_pseudo(struct super_block *sb, const struct qstr *name)
{
+ static const struct dentry_operations anon_ops = {
+ .d_dname = simple_dname
+ };
struct dentry *dentry = __d_alloc(sb, name);
- if (likely(dentry))
+ if (likely(dentry)) {
dentry->d_flags |= DCACHE_NORCU;
+ if (!sb->s_d_op)
+ d_set_d_op(dentry, &anon_ops);
+ }
return dentry;
}