Author: rmacklem
Date: Sun May 13 12:29:09 2018
New Revision: 333579
URL: https://svnweb.freebsd.org/changeset/base/333579

Log:
  The NFSv4.1 server should return NFSERR_BACKCHANBUSY instead of NFS_OK.
  
  When an NFSv4.1 session is busy due to a callback being in progress,
  nfsrv_freesession() should return NFSERR_BACKCHANBUSY instead of NFS_OK.
  The only effect this has is that the DestroySession operation will report
  the failure for this case and this probably has little or no effect on a
  client. Spotted by inspection and no failures related to this have been
  reported.
  
  MFC after:    2 months

Modified:
  head/sys/fs/nfsserver/nfs_nfsdstate.c

Modified: head/sys/fs/nfsserver/nfs_nfsdstate.c
==============================================================================
--- head/sys/fs/nfsserver/nfs_nfsdstate.c       Sun May 13 11:31:32 2018        
(r333578)
+++ head/sys/fs/nfsserver/nfs_nfsdstate.c       Sun May 13 12:29:09 2018        
(r333579)
@@ -5982,7 +5982,7 @@ nfsrv_freesession(struct nfsdsession *sep, uint8_t *se
                if (sep->sess_refcnt > 0) {
                        NFSUNLOCKSESSION(shp);
                        NFSUNLOCKSTATE();
-                       return (0);
+                       return (NFSERR_BACKCHANBUSY);
                }
                LIST_REMOVE(sep, sess_hash);
                LIST_REMOVE(sep, sess_list);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to