Re: [PATCH v3 015/114] nfsd: Allow struct nfsd4_compound_state to cache the nfs4_client

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

 



On Thu, Jul 3, 2014 at 12:11 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> On Thu, Jul 03, 2014 at 11:32:08AM -0400, J. Bruce Fields wrote:
>> > > > +       struct nfs4_client *found;
>> > > > +
>> > > > +       if (cstate->clp) {
>> > > > +               found = cstate->clp;
>> > > > +               if (!same_clid(&found->cl_clientid, clid))
>> > > > +                       return nfserr_stale_clientid;
>> > >
>> > > That's new behavior, isn't it?
>> > >
>> >
>> > Yeah, I suppose it is, but it's hard to understand a valid use-case for
>> > sending multiple ops in a compound with different clientids. Certainly
>> > no well-behaved client would do that, would it? (Hmm, that might be an
>> > interesting pynfs test, come to think of it).
>>
>> We could ask for a clarification in 3530bis if there's not already
>> something there that clearly forbids this, but I'm not sure if it's even
>> worth it.
>
> Or just handle it and be done with me.  After all we'd just need to put
> the existing client, and store the new one in the cstate.

It is definitely not allowed in NFSv4.1. There is a special place in
hell^W^W^Werrorcode NFS4ERR_SEQUENCE_POS that tells you that your
compound is insane.

-- 
Trond Myklebust

Linux NFS client maintainer, PrimaryData

trond.myklebust@xxxxxxxxxxxxxxx
--
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