Commit 6a6b08d4 authored by Rick Macklem's avatar Rick Macklem
Browse files

nfsd: Do not try to cache a reply for NFSERR_BADSLOT

When nfsrv_checksequence() replies NFSERR_BADSLOT,
the value of nd_slotid is not valid.  As such, the
reply cannot be cached in the session.
Do not set ND_HASSEQUENCE for this case.

PR:	260076

(cherry picked from commit 33d0be8a)
parent 081d40b8
...@@ -4566,9 +4566,10 @@ nfsrvd_sequence(struct nfsrv_descript *nd, __unused int isdgram, ...@@ -4566,9 +4566,10 @@ nfsrvd_sequence(struct nfsrv_descript *nd, __unused int isdgram,
cache_this = 1; cache_this = 1;
else else
cache_this = 0; cache_this = 0;
nd->nd_flag |= ND_HASSEQUENCE;
nd->nd_repstat = nfsrv_checksequence(nd, sequenceid, &highest_slotid, nd->nd_repstat = nfsrv_checksequence(nd, sequenceid, &highest_slotid,
&target_highest_slotid, cache_this, &sflags, p); &target_highest_slotid, cache_this, &sflags, p);
if (nd->nd_repstat != NFSERR_BADSLOT)
nd->nd_flag |= ND_HASSEQUENCE;
if (nd->nd_repstat == 0) { if (nd->nd_repstat == 0) {
NFSBCOPY(nd->nd_sessionid, tl, NFSX_V4SESSIONID); NFSBCOPY(nd->nd_sessionid, tl, NFSX_V4SESSIONID);
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment