summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@fys.uio.no>2004-02-07 16:25:51 +0100
committerTrond Myklebust <trond.myklebust@fys.uio.no>2004-02-07 16:25:51 +0100
commit62d3ffc42969a84db8d1e045c79a5dbb7ad5f7ce (patch)
tree7cf553fe574ddeb893075a5887e5e668d40b5b9c /include
parent6fb5d9bf6b84df466644190edcb5e34d885673a1 (diff)
RPCSEC_GSS: Make the upcalls detect if the userland daemon
dies while processing a request.
Diffstat (limited to 'include')
-rw-r--r--include/linux/sunrpc/rpc_pipe_fs.h4
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 *);