diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-07-14 15:43:25 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-07-14 15:43:25 +0200 |
commit | 74931da7a6d341c137f1564a47f36fda68ad21e6 (patch) | |
tree | 392892e8b292977d8e15ec49ace7eb58db40b655 /fs/libfs.c | |
parent | configfs: don't open-code d_alloc_name() (diff) | |
download | linux-74931da7a6d341c137f1564a47f36fda68ad21e6.tar.xz linux-74931da7a6d341c137f1564a47f36fda68ad21e6.zip |
make simple_lookup() usable for filesystems that set ->s_d_op
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/libfs.c')
-rw-r--r-- | fs/libfs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/libfs.c b/fs/libfs.c index c3a0837fb861..3a3a9b53bf5a 100644 --- a/fs/libfs.c +++ b/fs/libfs.c @@ -61,7 +61,8 @@ struct dentry *simple_lookup(struct inode *dir, struct dentry *dentry, unsigned if (dentry->d_name.len > NAME_MAX) return ERR_PTR(-ENAMETOOLONG); - d_set_d_op(dentry, &simple_dentry_operations); + if (!dentry->d_sb->s_d_op) + d_set_d_op(dentry, &simple_dentry_operations); d_add(dentry, NULL); return NULL; } |