Author: rmacklem
Date: Sat May 26 23:02:15 2018
New Revision: 334252
URL: https://svnweb.freebsd.org/changeset/base/334252

Log:
  Fix the sleep event for layout recall.
  
  The sleep for I/O completion during an NFSv4.1 pNFS layout recall used
  the wrong event value and could result in the "[nfscl]" thread hung
  for the mount.
  This patch fixes the event to be the correct.
  This bug will only affect NFSv4.1 pnfs mounts and only when the server
  does a layout recall callback, so it won't affect many. Without the patch,
  a mount without the "pnfs" option will avoid the problem.
  Found during testing of the pNFS server.
  
  MFC after:    1 week

Modified:
  head/sys/fs/nfsclient/nfs_clstate.c

Modified: head/sys/fs/nfsclient/nfs_clstate.c
==============================================================================
--- head/sys/fs/nfsclient/nfs_clstate.c Sat May 26 21:58:43 2018        
(r334251)
+++ head/sys/fs/nfsclient/nfs_clstate.c Sat May 26 23:02:15 2018        
(r334252)
@@ -2721,7 +2721,7 @@ tryagain2:
                                     NFSV4LOCK_LOCK) != 0) {
                                        lyp->nfsly_lock.nfslock_lock |=
                                            NFSV4LOCK_WANTED;
-                                       (void)nfsmsleep(&lyp->nfsly_lock,
+                                       nfsmsleep(&lyp->nfsly_lock.nfslock_lock,
                                            NFSCLSTATEMUTEXPTR, PZERO, "nfslyp",
                                            NULL);
                                        goto tryagain2;
_______________________________________________
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