aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/namei.h
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@redhat.com>2016-05-11 01:16:37 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2016-05-10 23:56:28 -0400
commit3c9fe8cdff1b889a059a30d22f130372f2b3885f (patch)
tree29f9b50b15ebbea097686abd2b0a71dedfcc128d /include/linux/namei.h
parentvfs: rename: check backing inode being equal (diff)
downloadwireguard-linux-3c9fe8cdff1b889a059a30d22f130372f2b3885f.tar.xz
wireguard-linux-3c9fe8cdff1b889a059a30d22f130372f2b3885f.zip
vfs: add lookup_hash() helper
Overlayfs needs lookup without inode_permission() and already has the name hash (in form of dentry->d_name on overlayfs dentry). It also doesn't support filesystems with d_op->d_hash() so basically it only needs the actual hashed lookup from lookup_one_len_unlocked() So add a new helper that does unlocked lookup of a hashed name. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'include/linux/namei.h')
-rw-r--r--include/linux/namei.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/namei.h b/include/linux/namei.h
index 77d01700daf7..ec5ec2818a28 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -79,6 +79,8 @@ extern int kern_path_mountpoint(int, const char *, struct path *, unsigned int);
extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
extern struct dentry *lookup_one_len_unlocked(const char *, struct dentry *, int);
+struct qstr;
+extern struct dentry *lookup_hash(const struct qstr *, struct dentry *);
extern int follow_down_one(struct path *);
extern int follow_down(struct path *);