
From: viro@www.linux.org.uk

nfs_fattr->rdev switched to dev_t; code that unpacks on-the-wire attributes
does explicit conversion now.
y


 fs/nfs/nfs2xdr.c        |    6 ++++--
 include/linux/nfs_xdr.h |    2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff -puN fs/nfs/nfs2xdr.c~large-dev_t-2nd-14 fs/nfs/nfs2xdr.c
--- 25/fs/nfs/nfs2xdr.c~large-dev_t-2nd-14	2003-09-05 00:50:12.000000000 -0700
+++ 25-akpm/fs/nfs/nfs2xdr.c	2003-09-05 00:50:12.000000000 -0700
@@ -106,6 +106,7 @@ xdr_decode_time(u32 *p, struct timespec 
 static u32 *
 xdr_decode_fattr(u32 *p, struct nfs_fattr *fattr)
 {
+	u32 rdev;
 	fattr->type = (enum nfs_ftype) ntohl(*p++);
 	fattr->mode = ntohl(*p++);
 	fattr->nlink = ntohl(*p++);
@@ -113,7 +114,7 @@ xdr_decode_fattr(u32 *p, struct nfs_fatt
 	fattr->gid = ntohl(*p++);
 	fattr->size = ntohl(*p++);
 	fattr->du.nfs2.blocksize = ntohl(*p++);
-	fattr->rdev = ntohl(*p++);
+	rdev = ntohl(*p++);
 	fattr->du.nfs2.blocks = ntohl(*p++);
 	fattr->fsid_u.nfs3 = ntohl(*p++);
 	fattr->fileid = ntohl(*p++);
@@ -121,7 +122,8 @@ xdr_decode_fattr(u32 *p, struct nfs_fatt
 	p = xdr_decode_time(p, &fattr->mtime);
 	p = xdr_decode_time(p, &fattr->ctime);
 	fattr->valid |= NFS_ATTR_FATTR;
-	if (fattr->type == NFCHR && fattr->rdev == NFS2_FIFO_DEV) {
+	fattr->rdev = old_decode_dev(rdev);
+	if (fattr->type == NFCHR && rdev == NFS2_FIFO_DEV) {
 		fattr->type = NFFIFO;
 		fattr->mode = (fattr->mode & ~S_IFMT) | S_IFIFO;
 		fattr->rdev = 0;
diff -puN include/linux/nfs_xdr.h~large-dev_t-2nd-14 include/linux/nfs_xdr.h
--- 25/include/linux/nfs_xdr.h~large-dev_t-2nd-14	2003-09-05 00:50:12.000000000 -0700
+++ 25-akpm/include/linux/nfs_xdr.h	2003-09-05 00:50:12.000000000 -0700
@@ -23,7 +23,7 @@ struct nfs_fattr {
 			__u64	used;
 		} nfs3;
 	} du;
-	__u32			rdev;
+	dev_t			rdev;
 	union {
 		__u64		nfs3;		/* also nfs2 */
 		struct {

_
