| Do not try to cache a reply for NFSERR_BADSLOT |
| PR 260076 |
| Backported from FreeBSD base commit 33d0be8a923a840ec0724d50815890c5ffe0e884 |
| |
| --- /var/archive3/public/freebsd-releng-10.4-src/sys/fs/nfsserver/nfs_nfsdserv.c 2017-09-29 08:20:06.000000000 +0800 |
| +++ freebsd-10.4/sys/fs/nfsserver/nfs_nfsdserv.c 2026-02-24 20:35:09.171872000 +0800 |
| @@ -3945,9 +3945,9 @@ |
| cache_this = 1; |
| else |
| cache_this = 0; |
| - nd->nd_flag |= ND_HASSEQUENCE; |
| nd->nd_repstat = nfsrv_checksequence(nd, sequenceid, &highest_slotid, |
| &target_highest_slotid, cache_this, &sflags, p); |
| + if (nd->nd_repstat != NFSERR_BADSLOT) nd->nd_flag |= ND_HASSEQUENCE; |
| if (nd->nd_repstat == 0) { |
| NFSM_BUILD(tl, uint32_t *, NFSX_V4SESSIONID); |
| NFSBCOPY(nd->nd_sessionid, tl, NFSX_V4SESSIONID); |