diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-08-27 16:27:04 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-09-01 11:12:43 -0400 |
commit | 298fc3558b9c1f5324c5ec6d5c587ca9ae6cc826 (patch) | |
tree | 2dd0fde31f3a0178eb47e53bdb4ed86878159d17 /include/linux | |
parent | c36dcfe1f7712b7c12df2d80359e638b9d246ce6 (diff) | |
download | blackbird-op-linux-298fc3558b9c1f5324c5ec6d5c587ca9ae6cc826.tar.gz blackbird-op-linux-298fc3558b9c1f5324c5ec6d5c587ca9ae6cc826.zip |
SUNRPC: Add a helper to allow sharing of rpc_pipefs directory objects
Add support for looking up existing objects and creating new ones if there
is no match.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/sunrpc/rpc_pipe_fs.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h index b0cf1812be72..a353e0300b54 100644 --- a/include/linux/sunrpc/rpc_pipe_fs.h +++ b/include/linux/sunrpc/rpc_pipe_fs.h @@ -106,6 +106,12 @@ extern int rpc_add_pipe_dir_object(struct net *net, extern void rpc_remove_pipe_dir_object(struct net *net, struct rpc_pipe_dir_head *pdh, struct rpc_pipe_dir_object *pdo); +extern struct rpc_pipe_dir_object *rpc_find_or_alloc_pipe_dir_object( + struct net *net, + struct rpc_pipe_dir_head *pdh, + int (*match)(struct rpc_pipe_dir_object *, void *), + struct rpc_pipe_dir_object *(*alloc)(void *), + void *data); struct cache_detail; extern struct dentry *rpc_create_cache_dir(struct dentry *, |