svn commit: r267709 - projects/nfsv4.1-server/sys/fs/nfsserver

Rick Macklem rmacklem at FreeBSD.org
Sun Jun 22 01:19:52 UTC 2014


Author: rmacklem
Date: Sun Jun 22 01:19:52 2014
New Revision: 267709
URL: http://svnweb.freebsd.org/changeset/base/267709

Log:
  Fix the Claim_delegate_current case for Open in the NFSv4.1 server.

Modified:
  projects/nfsv4.1-server/sys/fs/nfsserver/nfs_nfsdstate.c

Modified: projects/nfsv4.1-server/sys/fs/nfsserver/nfs_nfsdstate.c
==============================================================================
--- projects/nfsv4.1-server/sys/fs/nfsserver/nfs_nfsdstate.c	Sun Jun 22 00:53:33 2014	(r267708)
+++ projects/nfsv4.1-server/sys/fs/nfsserver/nfs_nfsdstate.c	Sun Jun 22 01:19:52 2014	(r267709)
@@ -2267,7 +2267,9 @@ tryagain:
 	     */
 	    LIST_FOREACH(stp, &lfp->lf_deleg, ls_file) {
 		if (!(stp->ls_flags & NFSLCK_OLDDELEG) &&
-		    stateidp->seqid == stp->ls_stateid.seqid &&
+		    (((nd->nd_flag & ND_NFSV41) != 0 &&
+		    stateidp->seqid == 0) ||
+		    stateidp->seqid == stp->ls_stateid.seqid) &&
 		    !NFSBCMP(stateidp->other, stp->ls_stateid.other,
 			  NFSX_STATEIDOTHER))
 			break;
@@ -2524,7 +2526,9 @@ tryagain:
 	     */
 	    LIST_FOREACH(stp, &lfp->lf_deleg, ls_file) {
 		if (!(stp->ls_flags & NFSLCK_OLDDELEG) &&
-		    stateidp->seqid == stp->ls_stateid.seqid &&
+		    (((nd->nd_flag & ND_NFSV41) != 0 &&
+		    stateidp->seqid == 0) ||
+		    stateidp->seqid == stp->ls_stateid.seqid) &&
 		    !NFSBCMP(stateidp->other, stp->ls_stateid.other,
 			NFSX_STATEIDOTHER))
 			break;


More information about the svn-src-projects mailing list