[pnfs] [PATCH 1/3] 4.1 server ignore NFSv4.0 clientID and sequence ID as per draft 13

andros at umich.edu andros at umich.edu
Tue Sep 18 13:21:49 EDT 2007


From: Andy Adamson <andros at umich.edu>

draft 13 has contridictions WRT NFSv4.0 clientID and sequenceID, but
the intention is for NFSv4.1 to ignore these fields, and to always use
information from OP_SEQUENCE instead.

Signed-off by: Andy Adamson<andros at umich.edu>
Signed-off-by: Mike Sager <sager at netapp.com>
---
 fs/nfsd/nfs4xdr.c |   19 -------------------
 1 files changed, 0 insertions(+), 19 deletions(-)

diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 9784382..07970ec 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -437,9 +437,6 @@ nfsd4_decode_close(struct nfsd4_compoundargs *argp, struct nfsd4_close *close)
 	READ32(close->cl_stateid.si_generation);
 	COPYMEM(&close->cl_stateid.si_opaque, sizeof(stateid_opaque_t));
 
-	if (argp->minorversion == 1 && close->cl_seqid != 0)
-		return nfserr_inval;
-
 	DECODE_TAIL;
 }
 
@@ -559,19 +556,11 @@ nfsd4_decode_lock(struct nfsd4_compoundargs *argp, struct nfsd4_lock *lock)
 		READ_BUF(lock->lk_new_owner.len);
 		READMEM(lock->lk_new_owner.data, lock->lk_new_owner.len);
 
-		if ((argp->minorversion == 1) &&
-		    (lock->lk_new_open_seqid !=0 ||
-		     lock->lk_new_lock_seqid != 0 ||
-		     !zero_clientid(&lock->lk_new_clientid)))
-			return nfserr_inval;
 	} else {
 		READ_BUF(20);
 		READ32(lock->lk_old_lock_stateid.si_generation);
 		COPYMEM(&lock->lk_old_lock_stateid.si_opaque, sizeof(stateid_opaque_t));
 		READ32(lock->lk_old_lock_seqid);
-
-		if (argp->minorversion == 1 && lock->lk_old_lock_seqid !=0)
-			return nfserr_inval;
 	}
 
 	DECODE_TAIL;
@@ -614,9 +603,6 @@ nfsd4_decode_locku(struct nfsd4_compoundargs *argp, struct nfsd4_locku *locku)
 	READ64(locku->lu_offset);
 	READ64(locku->lu_length);
 
-	if (argp->minorversion == 1 && locku->lu_seqid != 0)
-		return nfserr_inval;
-
 	DECODE_TAIL;
 }
 
@@ -652,9 +638,6 @@ nfsd4_decode_open(struct nfsd4_compoundargs *argp, struct nfsd4_open *open)
 	COPYMEM(&open->op_clientid, sizeof(clientid_t));
 	READ32(open->op_owner.len);
 
-	if ((argp->minorversion == 1) &&
-	    (open->op_seqid != 0 || !zero_clientid(&open->op_clientid)))
-		return nfserr_inval;
 
 	/* owner, open_flag */
 	READ_BUF(open->op_owner.len + 4);
@@ -744,8 +727,6 @@ nfsd4_decode_open_downgrade(struct nfsd4_compoundargs *argp, struct nfsd4_open_d
 	READ32(open_down->od_share_access);
 	READ32(open_down->od_share_deny);
 						        
-	if (argp->minorversion == 1 && open_down->od_seqid != 0)
-		return nfserr_inval;
 
 	DECODE_TAIL;
 }
-- 
1.5.0.2



More information about the pNFS mailing list