Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Feb 2012 04:20:33 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r230899 - in projects/nfsv4.1-client/sys/fs: nfs nfsclient
Message-ID:  <201202020420.q124KXkj018923@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Thu Feb  2 04:20:33 2012
New Revision: 230899
URL: http://svn.freebsd.org/changeset/base/230899

Log:
  Add a flag to nfsm_stateidtom() so that it will put the stateid
  on the wire with a seqid == 0. This is needed for NFSv4.1, where
  stateid.seqid == 0 defines the stateid as the most recent
  incarnation of the stateid.

Modified:
  projects/nfsv4.1-client/sys/fs/nfs/nfsproto.h
  projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clcomsubs.c

Modified: projects/nfsv4.1-client/sys/fs/nfs/nfsproto.h
==============================================================================
--- projects/nfsv4.1-client/sys/fs/nfs/nfsproto.h	Thu Feb  2 00:10:20 2012	(r230898)
+++ projects/nfsv4.1-client/sys/fs/nfs/nfsproto.h	Thu Feb  2 04:20:33 2012	(r230899)
@@ -468,6 +468,7 @@
 #define	NFSSTATEID_PUTALLZERO		0
 #define	NFSSTATEID_PUTALLONE		1
 #define	NFSSTATEID_PUTSTATEID		2
+#define	NFSSTATEID_PUTSEQIDZERO		3
 
 /*
  * Bits for share access and deny.

Modified: projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clcomsubs.c
==============================================================================
--- projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clcomsubs.c	Thu Feb  2 00:10:20 2012	(r230898)
+++ projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clcomsubs.c	Thu Feb  2 04:20:33 2012	(r230899)
@@ -496,6 +496,11 @@ nfsm_stateidtom(struct nfsrv_descript *n
 		st->other[0] = 0xffffffff;
 		st->other[1] = 0xffffffff;
 		st->other[2] = 0xffffffff;
+	} else if (flag == NFSSTATEID_PUTSEQIDZERO) {
+		st->seqid = 0;
+		st->other[0] = stateidp->other[0];
+		st->other[1] = stateidp->other[1];
+		st->other[2] = stateidp->other[2];
 	} else {
 		st->seqid = stateidp->seqid;
 		st->other[0] = stateidp->other[0];



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202020420.q124KXkj018923>