diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2011-12-26 15:43:32 +0300 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-01-31 18:20:24 -0500 |
commit | ba9e097593f371ebd102580a0c5b1b2cf55636a0 (patch) | |
tree | 737cda4281e4d77738149e8cd481d7414ccaf160 /include/linux/sunrpc/rpc_pipe_fs.h | |
parent | 766347bec3490111e1c4482af7c7394868c2aed1 (diff) | |
download | blackbird-op-linux-ba9e097593f371ebd102580a0c5b1b2cf55636a0.tar.gz blackbird-op-linux-ba9e097593f371ebd102580a0c5b1b2cf55636a0.zip |
SUNRPC: split SUNPRC PipeFS pipe data and inode creation
Generally, pipe data is used only for pipes, and thus allocating space for it
on every RPC inode allocation is redundant. This patch splits private SUNRPC
PipeFS pipe data and inode, makes pipe data allocated only for pipe inodes.
This patch is also is a next step towards to to removing PipeFS inode
references from kernel code other than PipeFS itself.
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.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h index c93ea8689bc8..57512c23d34c 100644 --- a/include/linux/sunrpc/rpc_pipe_fs.h +++ b/include/linux/sunrpc/rpc_pipe_fs.h @@ -21,9 +21,7 @@ struct rpc_pipe_ops { void (*destroy_msg)(struct rpc_pipe_msg *); }; -struct rpc_inode { - struct inode vfs_inode; - void *private; +struct rpc_pipe { struct list_head pipe; struct list_head in_upcall; struct list_head in_downcall; @@ -38,6 +36,12 @@ struct rpc_inode { spinlock_t lock; }; +struct rpc_inode { + struct inode vfs_inode; + void *private; + struct rpc_pipe *pipe; +}; + static inline struct rpc_inode * RPC_I(struct inode *inode) { |