The branch main has been updated by rmacklem:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=30d4d3db431a5df8084048c4d31e98e74d2f225a

commit 30d4d3db431a5df8084048c4d31e98e74d2f225a
Author:     Rick Macklem <[email protected]>
AuthorDate: 2026-07-11 19:30:51 +0000
Commit:     Rick Macklem <[email protected]>
CommitDate: 2026-07-11 19:32:46 +0000

    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")
---
 sys/fs/nfs/nfs_var.h              | 1 +
 sys/fs/nfsserver/nfs_nfsdsocket.c | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

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) {

Reply via email to