[pnfs] [PATCH 3/9] struct nfsd4_pnfs_layoutcommit: use struct nfstime4

Benny Halevy bhalevy at panasas.com
Sun May 27 05:27:24 EDT 2007


Signed-off-by: Benny Halevy <bhalevy at panasas.com>
---
 fs/nfsd/nfs4xdr.c               |   22 +++++++++++-----------
 include/linux/nfsd/nfsd4_pnfs.h |    7 +++----
 2 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 845c3a3..7621ec7 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -1244,7 +1244,7 @@ static int
 nfsd4_decode_layoutcommit(struct nfsd4_compoundargs *argp, struct nfsd4_pnfs_layoutcommit *lcp)
 {
 	DECODE_HEAD;
-	u32 timechange, dummy32;
+	u32 timechange;
 
 	READ_BUF(36);
 	READ64(lcp->lc_offset);
@@ -1255,21 +1255,21 @@ nfsd4_decode_layoutcommit(struct nfsd4_compoundargs *argp, struct nfsd4_pnfs_lay
 	READ32(timechange);
 	if (timechange) {
 		READ_BUF(12);
-		READ32(dummy32);
-		if (dummy32)
-			return nfserr_inval;
-		READ32(lcp->lc_modify_sec);
-		READ32(lcp->lc_modify_nsec);
+		READ64(lcp->lc_mtime.seconds);
+		READ32(lcp->lc_mtime.nseconds);
+	} else {
+		lcp->lc_mtime.seconds = 0;
+		lcp->lc_mtime.nseconds = 0;
 	}
 	READ_BUF(4);
 	READ32(timechange);
 	if (timechange) {
 		READ_BUF(12);
-		READ32(dummy32);
-		if (dummy32)
-			return nfserr_inval;
-		READ32(lcp->lc_access_sec);
-		READ32(lcp->lc_access_nsec);
+		READ64(lcp->lc_atime.seconds);
+		READ32(lcp->lc_atime.nseconds);
+	} else {
+		lcp->lc_atime.seconds = 0;
+		lcp->lc_atime.nseconds = 0;
 	}
 	READ_BUF(8);
 	READ32(lcp->lc_loup.up_type);
diff --git a/include/linux/nfsd/nfsd4_pnfs.h b/include/linux/nfsd/nfsd4_pnfs.h
index 582d533..fb1c676 100644
--- a/include/linux/nfsd/nfsd4_pnfs.h
+++ b/include/linux/nfsd/nfsd4_pnfs.h
@@ -37,6 +37,7 @@
 #define _LINUX_NFSD_NFSD4_PNFS_H
 
 #include <linux/nfs.h>
+#include <linux/nfs_xdr.h>
 
 /* pNFS structs */
 
@@ -101,10 +102,8 @@ struct nfsd4_pnfs_layoutcommit {
 	u32                     lc_reclaim;     /* request */
 	u32                     lc_newoffset;   /* request */
 	u64                     lc_last_wr;     /* request */
-	u64                     lc_modify_sec;  /* request */
-	u32                     lc_modify_nsec; /* request */
-	u64                     lc_access_sec;  /* request */
-	u32                     lc_access_nsec; /* request */
+	struct nfstime4         lc_mtime;       /* request */
+	struct nfstime4         lc_atime;       /* request */
 	struct nfsd4_pnfs_lo_up lc_loup;	/* request */
 	u32			lc_size_chg;	/* boolean for response */
 	u64                     lc_newsize;     /* response */
-- 
1.5.1



More information about the pNFS mailing list