patch-2.4.0-test10 linux/fs/nfs/nfs3xdr.c

Next file: linux/fs/nfs/read.c
Previous file: linux/fs/nfs/nfs2xdr.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test9/linux/fs/nfs/nfs3xdr.c linux/fs/nfs/nfs3xdr.c
@@ -143,7 +143,8 @@
 static inline u32 *
 xdr_decode_time3(u32 *p, u64 *timep)
 {
-	*timep = ((u64)ntohl(*p++) << 32) + (u64)ntohl(*p++);
+	u64 tmp = (u64)ntohl(*p++) << 32;
+	*timep = tmp + (u64)ntohl(*p++);
 	return p;
 }
 
@@ -184,7 +185,8 @@
 	p = xdr_decode_hyper(p, &fattr->size);
 	p = xdr_decode_hyper(p, &fattr->du.nfs3.used);
 	/* Turn remote device info into Linux-specific dev_t */
-	fattr->rdev = (ntohl(*p++) << MINORBITS) | (ntohl(*p++) & MINORMASK);
+	fattr->rdev = ntohl(*p++) << MINORBITS;
+	fattr->rdev |= ntohl(*p++) & MINORMASK;
 	p = xdr_decode_hyper(p, &fattr->fsid);
 	p = xdr_decode_hyper(p, &fattr->fileid);
 	p = xdr_decode_time3(p, &fattr->atime);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)