All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benny Halevy <bhalevy@panasas.com>
To: Ricardo Labiaga <Ricardo.Labiaga@netapp.com>
Cc: bfields@fieldses.org, pnfs@linux-nfs.org, linux-nfs@vger.kernel.org
Subject: Re: [RFC 06/11] nfsd41: Backchannel: Add sequence arguments to callback RPC arguments
Date: Wed, 20 May 2009 10:32:41 +0300	[thread overview]
Message-ID: <4A13B219.2020101@panasas.com> (raw)
In-Reply-To: <1242788428-18723-6-git-send-email-Ricardo.Labiaga@netapp.com>

On May. 20, 2009, 6:00 +0300, Ricardo Labiaga <Ricardo.Labiaga@netapp.com> wrote:
> Follow the model we use in the client. Make the sequence arguments
> part of the regular RPC arguments.  The results point to them.  Adjust
> references to the sequence arguments.
> 
> Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com>
> [define struct nfsd4_cb_sequence here]
> Signed-off-by: Benny Halevy <bhalevy@panasas.com>
> ---
>  fs/nfsd/nfs4callback.c     |    9 +++++++++
>  include/linux/nfsd/state.h |    9 +++++++++
>  2 files changed, 18 insertions(+), 0 deletions(-)
> 
> diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
> index f75750e..0b5c4a6 100644
> --- a/fs/nfsd/nfs4callback.c
> +++ b/fs/nfsd/nfs4callback.c
> @@ -92,6 +92,15 @@ enum nfs_cb_opnum4 {
>  					cb_sequence_dec_sz +            \
>  					op_dec_sz)
>  
> +struct nfs4_rpc_args {
> +	void				*args_op;
> +	struct nfsd4_cb_sequence	args_seq;
> +};
> +
> +struct nfs4_rpc_res {
> +	struct nfsd4_cb_sequence	*res_seq;

Given the size of nfsd4_cb_sequence, why not just embed it here?
(Historically, it didn't have the cbs_minorversion member so
it's presence was the actual indication of the minorversion.
Now that this has changed, I see no good reason not to embed it.

Benny

> +};
> +
>  /*
>  * Generic encode routines from fs/nfs/nfs4xdr.c
>  */
> diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h
> index 212a75b..931aaa6 100644
> --- a/include/linux/nfsd/state.h
> +++ b/include/linux/nfsd/state.h
> @@ -61,6 +61,12 @@ typedef struct {
>  #define si_stateownerid   si_opaque.so_stateownerid
>  #define si_fileid         si_opaque.so_fileid
>  
> +struct nfsd4_cb_sequence {
> +	/* args/res */
> +	u32			cbs_minorversion;
> +	struct nfs4_client	*cbs_clp;
> +};
> +
>  struct nfs4_delegation {
>  	struct list_head	dl_perfile;
>  	struct list_head	dl_perclnt;
> @@ -188,6 +194,9 @@ struct nfs4_client {
>  	struct nfsd4_slot	cl_slot;	/* create_session slot */
>  	u32			cl_exchange_flags;
>  	struct nfs4_sessionid	cl_sessionid;
> +
> +	/* for nfs41 callbacks */
> +	struct svc_xprt		*cl_cb_xprt;	/* 4.1 callback transport */
>  };
>  
>  /* struct nfs4_client_reset

  parent reply	other threads:[~2009-05-20  7:34 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-20  2:07 [RFC 0/10] nfsd41 server backchannel for 2.6.31 Labiaga, Ricardo
     [not found] ` <273FE88A07F5D445824060902F70034405CEB64D-hX7t0kiaRRpT+ZUat5FNkAK/GNPrWCqfQQ4Iyu8u01E@public.gmane.org>
2009-05-20  3:00   ` [RFC 01/11] nfsd: cleanup nfs4.0 callback encode routines Ricardo Labiaga
2009-05-20  3:00     ` [RFC 02/11] nfsd: minorversion support for the back channel Ricardo Labiaga
2009-05-20  3:00       ` [RFC 03/11] nfsd41: sunrpc: svc_tcp_recv_record() Ricardo Labiaga
2009-05-20  3:00         ` [RFC 04/11] nfsd41: sunrpc: Added rpc server-side backchannel handling Ricardo Labiaga
2009-05-20  3:00           ` [RFC 05/11] nfsd41: callback infrastructure Ricardo Labiaga
2009-05-20  3:00             ` [RFC 06/11] nfsd41: Backchannel: Add sequence arguments to callback RPC arguments Ricardo Labiaga
2009-05-20  3:00               ` [RFC 07/11] nfsd41: Backchannel: Server backchannel RPC wait queue Ricardo Labiaga
2009-05-20  3:00                 ` [RFC 08/11] nfsd41: Backchannel: Setup sequence information Ricardo Labiaga
2009-05-20  3:00                   ` [RFC 09/11] nfsd41: cb_sequence callback Ricardo Labiaga
2009-05-20  3:00                     ` [RFC 10/11] nfsd41: Backchannel: Implement cb_recall over NFSv4.1 Ricardo Labiaga
2009-05-20  3:00                       ` [RFC 11/11] nfsd41: Refactor create_client() Ricardo Labiaga
2009-05-20  8:18                         ` Benny Halevy
2009-05-20 18:27                           ` Labiaga, Ricardo
2009-05-20  7:46                       ` [RFC 10/11] nfsd41: Backchannel: Implement cb_recall over NFSv4.1 Benny Halevy
2009-05-20 18:17                         ` Labiaga, Ricardo
2009-05-21  5:59                           ` Benny Halevy
2009-05-21  6:54                             ` Labiaga, Ricardo
2009-05-20  7:32               ` Benny Halevy [this message]
2009-05-20 18:05                 ` [RFC 06/11] nfsd41: Backchannel: Add sequence arguments to callback RPC arguments Labiaga, Ricardo
2009-05-20  8:34           ` [RFC 04/11] nfsd41: sunrpc: Added rpc server-side backchannel handling Benny Halevy
2009-05-20 18:40             ` Labiaga, Ricardo
2009-05-20  3:04   ` [pnfs] [RFC 0/10] nfsd41 server backchannel for 2.6.31 Labiaga, Ricardo
  -- strict thread matches above, loose matches on Subject: below --
2009-06-06  2:48 [RFC 0/10] nfsd41 server backchannel for 2.6.31 (try 3) Labiaga, Ricardo
2009-06-06  2:49 ` [RFC 01/11] nfsd41: Backchannel: cleanup nfs4.0 callback encode routines Ricardo Labiaga
2009-06-06  2:49   ` [RFC 02/11] nfsd41: Backchannel: minorversion support for the back channel Ricardo Labiaga
2009-06-06  2:49     ` [RFC 03/11] nfsd41: sunrpc: svc_tcp_recv_record() Ricardo Labiaga
2009-06-06  2:49       ` [RFC 04/11] nfsd41: sunrpc: Added rpc server-side backchannel handling Ricardo Labiaga
2009-06-06  2:50         ` [RFC 05/11] nfsd41: Backchannel: callback infrastructure Ricardo Labiaga
2009-06-06  2:50           ` [RFC 06/11] nfsd41: Backchannel: Add sequence arguments to callback RPC arguments Ricardo Labiaga

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A13B219.2020101@panasas.com \
    --to=bhalevy@panasas.com \
    --cc=Ricardo.Labiaga@netapp.com \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=pnfs@linux-nfs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.