svn commit: r316666 - head/sys/fs/nfs

Rick Macklem rmacklem at FreeBSD.org
Sun Apr 9 21:06:22 UTC 2017


Author: rmacklem
Date: Sun Apr  9 21:06:21 2017
New Revision: 316666
URL: https://svnweb.freebsd.org/changeset/base/316666

Log:
  Fix the NFSv4.1 client for NFSERR_BADSESSION recovery via ReclaimComplete.
  
  For the ReclaimComplete operation, the RPC layer should not loop on
  NFSERR_BADSESSION. If it does, the recovery thread (nfscl) can get stuck
  looping and will not do a recovery.
  This patch fixes it so it does not loop. This bug only affects NFSv4.1 and
  only when a server reboots.
  
  Tested by:	cperciva
  PR:		215886
  MFC after:	2 weeks

Modified:
  head/sys/fs/nfs/nfs_commonsubs.c

Modified: head/sys/fs/nfs/nfs_commonsubs.c
==============================================================================
--- head/sys/fs/nfs/nfs_commonsubs.c	Sun Apr  9 21:02:05 2017	(r316665)
+++ head/sys/fs/nfs/nfs_commonsubs.c	Sun Apr  9 21:06:21 2017	(r316666)
@@ -148,7 +148,7 @@ struct nfsv4_opflag nfsv4_opflag[NFSV41_
 	{ 0, 0, 0, 0, LK_EXCLUSIVE, 1, 1 },		/* Test StateID */
 	{ 0, 0, 0, 0, LK_EXCLUSIVE, 1, 1 },		/* Want Delegation */
 	{ 0, 0, 0, 0, LK_EXCLUSIVE, 0, 0 },		/* Destroy ClientID */
-	{ 0, 0, 0, 0, LK_EXCLUSIVE, 1, 1 },		/* Reclaim Complete */
+	{ 0, 0, 0, 0, LK_EXCLUSIVE, 1, 0 },		/* Reclaim Complete */
 };
 #endif	/* !APPLEKEXT */
 


More information about the svn-src-all mailing list