Subject: [nfsv4] seqid-based 4.0 replays

From: "J. Bruce Fields" <[email-masked]>
Date: Mon, 29 Aug 2011 17:46:02 -0400

Dumb basic 4.0 question:

While reviewing the linux 4.0 server code, I was reminded that it
treats the 4.0 seqid-based reply cache purely at the level of a single
compound op: if you send a completely different compound with a just one
of the ops a replay of a previous one, it returns a reply to that one op
from cache and processes all the other ops in the compound normally.

I'm pretty sure that's wrong.  Or at least more complicated than
necessary.

But looking at the rfc I'm not completely clear what I can assume: can I
assume that any replay will have the same xid as the original?  (So is
it enough just to create an entry in a traditional DRC, and just make
sure that cache entry lasts until the stateowner is destroy or the seqid
incremented?  Rick's old connectathon talk suggests that's what he
does.)

--b.