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

J. Bruce Fields bfields at fieldses.org
Wed Jan 2 19:21:41 EST 2008


On Wed, Jan 02, 2008 at 04:01:46PM -0800, Ricardo Labiaga wrote:
> 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.

That's one callback per rpc_xprt?  (So roughly one per mounted nfsv4.1
server?)

--b.

> 
> 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
> _______________________________________________
> pNFS mailing list
> pNFS at linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs


More information about the pNFS mailing list