Re: [PATCH 02/47] sunrpc: add cl_private field to struct rpc_clnt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2009-03-28 at 20:29 +0300, Benny Halevy wrote:
> On Mar. 28, 2009, 20:23 +0300, Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> wrote:
> > On Sat, 2009-03-28 at 11:20 +0300, Benny Halevy wrote:
> >> On Mar. 28, 2009, 3:39 +0300, "Myklebust, Trond" <Trond.Myklebust@xxxxxxxxxx> wrote:
> >>> On Mar 27, 2009, at 8:06 PM, "J. Bruce Fields" <bfields@xxxxxxxxxxxx>  
> >>> wrote:
> >>>
> >>>> On Fri, Mar 27, 2009 at 06:01:48AM +0300, Benny Halevy wrote:
> >>>>> From: Andy Adamson <andros@xxxxxxxxxx>
> >>>>>
> >>>>> Note: the NFSv4.1 client also uses (and declares) this pointer.
> >>>> OK.  Ack from trond?
> >>>
> >>> First, someone would need to remind me why it is necessary, and add  
> >>> that justification to the changelog.
> >> First time this is used in this patchset is here:
> >> [PATCH 35/47] nfsd: minorversion support for the back channel
> >>
> >> The client uses cl_private to determine the minorversion
> >> (via a struct nfs_client *) to be set in the compound header,
> >> and to know when to generate a SEQUENCE op.
> >> Similarly, the server puts a struct nfs4_callback * in
> >> there for callback compounds' CB_COMPOUND and CB_SEQUENCE.
> > 
> > Why would the rpc_client need to know and track minor versions? That is
> > an NFS protocol specific thing.
> 
> Agreed.  the rpc_client doesn't know anything about the minor version.
> This is why we store it in a void *cl_private.
> 
> > 
> > Besides, the caller should always know what minor version it is using.
> > It shouldn't need a back-pointer in the rpc_client...
> > 
> 
> The back pointer is used in the xdr layer like this:
>  	struct xdr_stream xdr;
> +	struct nfs_client *clp =
> +		(struct nfs_client *)req->rq_task->tk_client->cl_private;
>  	struct compound_hdr hdr = {
> -		.nops = 0,
> +		.minorversion = clp->cl_minorversion,
>  	};

Just put that information in the RPC arguments where it _BELONGS_.

-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux