[pnfs] [Fwd: [PATCH] update exchange id reply to draft 9]

Marc Eshel eshel at almaden.ibm.com
Mon Mar 5 14:13:33 EST 2007


"J. Bruce Fields" <bfields at fieldses.org> wrote on 03/05/2007 11:02:56 AM:

> On Sun, Mar 04, 2007 at 10:22:12PM -0800, Marc Eshel wrote:
> > static int nfs4_proc_exchange_id(struct nfs4_client *clp)
> > {
> >         nfs4_verifier verifier;
> >         struct nfs41_exchange_id_args args;
> >         struct nfs41_exchange_id_res res = {
> 
> If this is client-generated then we can allocate the minimum we know we
> need; looks like 40 bytes or so would do the job?  But just use some
> other constant--please don't change NFS4_OPAQUE_LIMIT.

Like the comment states this a temporary fix until we remove those struct 
from the stack.

> 
> > struct nfs_impl_id4 {
> >         u32             domain_len;
> >         char            domain[NFS4_OPAQUE_LIMIT];
> >         u32             name_len;
> >         char            name[NFS4_OPAQUE_LIMIT];
> >         struct nfstime4 date;
> > };
> > struct nfs41_exchange_id_args {
> >         nfs4_verifier *                 verifier;
> >         unsigned int                    id_len;
> >         char                            id[NFS4_OPAQUE_LIMIT];
> >         u32                             flags;
> >         struct nfs_impl_id4             impl_id;
> >         clientid4                       clientid;
> >         u32                             seqid;
> > };
> 
> I thought the implementation id was optional.  How about we just set it
> to zero?

But we still need to be ready to receive up to 1024 for each on of those 
fields from some server implementation.

Marc.



More information about the pNFS mailing list