aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc/rpc_pipe_fs.h
diff options
context:
space:
mode:
authorStanislav Kinsbursky <skinsbursky@parallels.com>2011-12-26 15:39:22 +0300
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-01-31 18:20:24 -0500
commit432eb1a5fb380477ae759041bac2bb305977e436 (patch)
treecf00739e461828c4757f74b324bab71952284649 /include/linux/sunrpc/rpc_pipe_fs.h
parentSUNRPC: send notification events on pipefs sb creation and destruction (diff)
downloadlinux-dev-432eb1a5fb380477ae759041bac2bb305977e436.tar.xz
linux-dev-432eb1a5fb380477ae759041bac2bb305977e436.zip
SUNRPC: pipefs dentry lookup helper introduced
In all places, where pipefs dentries are created, only directory inode is actually required to create new dentry. And all this directories has root pipefs dentry as their parent. So we actually don't need this pipefs mount point at all if some pipefs lookup method will be provided. IOW, all we really need is just superblock and simple lookup method to find root's child dentry with appropriate name. And this patch introduces this method. Note, that no locking implemented in rpc_d_lookup_sb(). So it can be used only in case of assurance, that pipefs superblock still exist. IOW, we can use this method only in pipefs mount-umount notification subscribers callbacks. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/sunrpc/rpc_pipe_fs.h')
-rw-r--r--include/linux/sunrpc/rpc_pipe_fs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h
index d39782ce6c67..2f3382230141 100644
--- a/include/linux/sunrpc/rpc_pipe_fs.h
+++ b/include/linux/sunrpc/rpc_pipe_fs.h
@@ -51,6 +51,9 @@ enum {
RPC_PIPEFS_UMOUNT,
};
+extern struct dentry *rpc_d_lookup_sb(const struct super_block *sb,
+ const unsigned char *dir_name);
+
extern ssize_t rpc_pipe_generic_upcall(struct file *, struct rpc_pipe_msg *,
char __user *, size_t);
extern int rpc_queue_upcall(struct inode *, struct rpc_pipe_msg *);