SUNRPC: split SUNPRC PipeFS dentry and private pipe data creation
This patch is a final step towards to removing PipeFS inode references from kernel code other than PipeFS itself. It makes all kernel SUNRPC PipeFS users depends on pipe private data, which state depend on their specific operations, etc. This patch completes SUNRPC PipeFS preparations and allows to create pipe private data and PipeFS dentries independently. Next step will be making SUNPRC PipeFS dentries allocated by SUNRPC PipeFS network namespace aware routines. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:

committed by
Trond Myklebust

parent
9beae4677d
commit
c239d83b99
@@ -34,6 +34,7 @@ struct rpc_pipe {
|
||||
struct delayed_work queue_timeout;
|
||||
const struct rpc_pipe_ops *ops;
|
||||
spinlock_t lock;
|
||||
struct dentry *dentry;
|
||||
};
|
||||
|
||||
struct rpc_inode {
|
||||
@@ -77,8 +78,10 @@ extern struct dentry *rpc_create_cache_dir(struct dentry *,
|
||||
struct cache_detail *);
|
||||
extern void rpc_remove_cache_dir(struct dentry *);
|
||||
|
||||
extern struct dentry *rpc_mkpipe(struct dentry *, const char *, void *,
|
||||
const struct rpc_pipe_ops *, int flags);
|
||||
struct rpc_pipe *rpc_mkpipe_data(const struct rpc_pipe_ops *ops, int flags);
|
||||
void rpc_destroy_pipe_data(struct rpc_pipe *pipe);
|
||||
extern struct dentry *rpc_mkpipe_dentry(struct dentry *, const char *, void *,
|
||||
struct rpc_pipe *);
|
||||
extern int rpc_unlink(struct dentry *);
|
||||
extern struct vfsmount *rpc_get_mount(void);
|
||||
extern void rpc_put_mount(void);
|
||||
|
Reference in New Issue
Block a user