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