[pnfs] [PATCH 05/10] nfs41: NFSv4.1 callback structures

Ricardo Labiaga ricardo.labiaga at netapp.com
Wed Jan 2 19:01:46 EST 2008


Adds new pointer to the rpc_xprt structure. Used to preallocate resources for
the backchannel and allocate backchannel requests.  Callbacks are not expected
to cause significant latency, so only one callback will be allowed at a time.

Signed-off-by: Ricardo Labiaga <ricardo.labiaga at netapp.com>
---
 include/linux/sunrpc/xprt.h |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h
index b64d8df..6777793 100644
--- a/include/linux/sunrpc/xprt.h
+++ b/include/linux/sunrpc/xprt.h
@@ -170,7 +170,12 @@ struct rpc_xprt {
 	struct rpc_task *	snd_task;	/* Task blocked in send */
 #if defined(CONFIG_NFSD_V4_1)
 	struct svc_sock	       *svsk;           /* If this is a callback xprt */
-#endif
+#endif /* CONFIG_NFSD_V4_1 */
+#if defined(CONFIG_NFS_V4_1)
+	struct svc_serv		*serv;		/* The RPC service which will process the callback request */
+	unsigned long		bc_flags;	/* Backchannel flags */
+	struct rpc_rqst		*bc_rpc_rqst;	/* Preallocated backchannel rpc_rqst */
+#endif /* CONFIG_NFS_V4_1 */
 	struct list_head	recv;
 
 	struct {
@@ -189,6 +194,13 @@ struct rpc_xprt {
 	char *			address_strings[RPC_DISPLAY_MAX];
 };
 
+#if defined(CONFIG_NFS_V4_1)
+/*
+ * Backchannel flags
+ */
+#define	RPC_BC_PREALLOC_IN_USE	0x0001	/* Preallocated backchannel buffers in use */
+#endif /* CONFIG_NFS_V4_1 */
+
 struct xprt_create {
 	int			ident;		/* XPRT_TRANSPORT identifier */
 	struct sockaddr *	srcaddr;	/* optional local address */
-- 
1.5.3.3


More information about the pNFS mailing list