aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRick Macklem <rmacklem@FreeBSD.org>2026-07-11 19:30:51 +0000
committerRick Macklem <rmacklem@FreeBSD.org>2026-07-11 19:32:46 +0000
commit30d4d3db431a5df8084048c4d31e98e74d2f225a (patch)
treed24ffdfe295a43ed9afa83388830b2c8cd6d76d1
parent7db502d50c1e492f626fefc7d3925b85e05ae743 (diff)
nfsd: Commit missing patches for c52bcd09c2a6
Oops, I missed the other files for the commit. This should fix the build. Pointy hat goes on me. MFC after: 2 weeks Fixes: c52bcd09c2a6 ("nfsd: Garbage collect stray NFSv4 state")
-rw-r--r--sys/fs/nfs/nfs_var.h1
-rw-r--r--sys/fs/nfsserver/nfs_nfsdsocket.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h
index 525f573b5167..57cf1566a14d 100644
--- a/sys/fs/nfs/nfs_var.h
+++ b/sys/fs/nfs/nfs_var.h
@@ -169,6 +169,7 @@ int nfsrv_mdscopymr(char *, char *, char *, char *, int *, char *, NFSPROC_T *,
struct nfsdevice **);
void nfsrv_marknospc(char *, bool);
void nfsrv_removedeleg(fhandle_t *, struct nfsrv_descript *, NFSPROC_T *);
+void nfsrv_freestrandedstate(struct nfsrvfh *);
/* nfs_nfsdserv.c */
int nfsrvd_access(struct nfsrv_descript *, int,
diff --git a/sys/fs/nfsserver/nfs_nfsdsocket.c b/sys/fs/nfsserver/nfs_nfsdsocket.c
index 36996425ae95..70aa20d4aa04 100644
--- a/sys/fs/nfsserver/nfs_nfsdsocket.c
+++ b/sys/fs/nfsserver/nfs_nfsdsocket.c
@@ -1031,7 +1031,8 @@ nfsrvd_compound(struct nfsrv_descript *nd, int isdgram, u_char *tag,
cur_fsid = vp->v_mount->mnt_stat.f_fsid;
NFSVOPUNLOCK(vp);
vpnes = nes;
- }
+ } else if (nd->nd_repstat == ESTALE)
+ nfsrv_freestrandedstate(&fh);
break;
case NFSV4OP_PUTPUBFH:
if (nfs_pubfhset) {