diff options
| author | Trond Myklebust <trond.myklebust@fys.uio.no> | 2004-02-07 16:25:51 +0100 |
|---|---|---|
| committer | Trond Myklebust <trond.myklebust@fys.uio.no> | 2004-02-07 16:25:51 +0100 |
| commit | 62d3ffc42969a84db8d1e045c79a5dbb7ad5f7ce (patch) | |
| tree | 7cf553fe574ddeb893075a5887e5e668d40b5b9c /include/linux | |
| parent | 6fb5d9bf6b84df466644190edcb5e34d885673a1 (diff) | |
RPCSEC_GSS: Make the upcalls detect if the userland daemon
dies while processing a request.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/sunrpc/rpc_pipe_fs.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h index c3752710c74c..63929349571f 100644 --- a/include/linux/sunrpc/rpc_pipe_fs.h +++ b/include/linux/sunrpc/rpc_pipe_fs.h @@ -14,6 +14,7 @@ struct rpc_pipe_msg { struct rpc_pipe_ops { ssize_t (*upcall)(struct file *, struct rpc_pipe_msg *, char __user *, size_t); ssize_t (*downcall)(struct file *, const char __user *, size_t); + void (*release_pipe)(struct inode *); void (*destroy_msg)(struct rpc_pipe_msg *); }; @@ -21,8 +22,10 @@ struct rpc_inode { struct inode vfs_inode; void *private; struct list_head pipe; + struct list_head in_upcall; int pipelen; int nreaders; + int nwriters; wait_queue_head_t waitq; #define RPC_PIPE_WAIT_FOR_OPEN 1 int flags; @@ -36,7 +39,6 @@ RPC_I(struct inode *inode) return container_of(inode, struct rpc_inode, vfs_inode); } -extern void rpc_inode_setowner(struct inode *, void *); extern int rpc_queue_upcall(struct inode *, struct rpc_pipe_msg *); extern struct dentry *rpc_mkdir(char *, struct rpc_clnt *); |
