patch-2.0.1 linux/include/linux/nfsiod.h

Next file: linux/include/linux/posix_types.h
Previous file: linux/include/linux/nfs_fs.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.0/linux/include/linux/nfsiod.h linux/include/linux/nfsiod.h
@@ -9,6 +9,7 @@
 #define _LINUX_NFSIOD_H
 
 #include <linux/rpcsock.h>
+#include <linux/nfs_fs.h>
 
 #ifdef __KERNEL__
 
@@ -17,7 +18,7 @@
  * Note that the callback procedure must NOT sleep.
  */
 struct nfsiod_req;
-typedef void	(*nfsiod_done_fn_t)(int result, struct nfsiod_req *);
+typedef int	(*nfsiod_callback_t)(int result, struct nfsiod_req *);
 
 /*
  * This is the nfsiod request struct.
@@ -25,16 +26,25 @@
 struct nfsiod_req {
 	struct nfsiod_req *	rq_next;
 	struct nfsiod_req *	rq_prev;
-	struct nfs_server *	rq_server;
 	struct wait_queue *	rq_wait;
 	struct rpc_ioreq	rq_rpcreq;
-	nfsiod_done_fn_t	rq_callback;
-	void *			rq_cdata;
+	nfsiod_callback_t	rq_callback;
+	struct nfs_server *	rq_server;
+	struct inode *		rq_inode;
+	struct page *		rq_page;
+
+	/* user creds */
+	uid_t			rq_fsuid;
+	gid_t			rq_fsgid;
+	int			rq_groups[NGROUPS];
+
+	/* retry handling */
+	int			rq_retries;
 };
 
-struct nfsiod_req *	nfsiod_reserve(struct nfs_server *, nfsiod_done_fn_t);
+struct nfsiod_req *	nfsiod_reserve(struct nfs_server *);
 void			nfsiod_release(struct nfsiod_req *);
-int			nfsiod_enqueue(struct nfsiod_req *);
+void			nfsiod_enqueue(struct nfsiod_req *);
 int			nfsiod(void);
 
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov