]> git.pld-linux.org Git - packages/kernel.git/blame - linux-alpha-nfs-2.4.19.patch
- added description of djurban's branch
[packages/kernel.git] / linux-alpha-nfs-2.4.19.patch
CommitLineData
0dc0a2ce
JR
1diff -u -N -r linux.orig/fs/nfs/inode.c linux.nfs/fs/nfs/inode.c\r
2--- linux.orig/fs/nfs/inode.c Tue Feb 13 19:14:28 2001\r
3+++ linux.nfs/fs/nfs/inode.c Fri Mar 9 10:58:47 2001\r
4@@ -548,6 +548,22 @@\r
5 nfs_zap_caches(inode);\r
6 }\r
7 \r
8+/* This kludge (of Lance's) converts 16bit DUNIX device numbers\r
9+ * into 8-bit Linux ones.\r
10+ */\r
11+static u32\r
12+do_that_magic(u32 rdev)\r
13+{\r
14+ if (((rdev & 0xffff0000) != 0) &&\r
15+ ((rdev & 0x0ff000ff) == rdev)) {\r
16+ u32 tmp ;\r
17+ tmp = ((rdev & 0x0ff00000) >> 12) | (rdev & 0xff) ;\r
18+ //printk("doing that magic!! %08x -> %08x\n", rdev, tmp) ;\r
19+ rdev = tmp ;\r
20+ }\r
21+ return rdev ;\r
22+}\r
23+\r
24 /*\r
25 * Fill in inode information from the fattr.\r
26 */\r
27@@ -575,7 +591,7 @@\r
28 } else if (S_ISLNK(inode->i_mode))\r
29 inode->i_op = &nfs_symlink_inode_operations;\r
30 else\r
31- init_special_inode(inode, inode->i_mode, fattr->rdev);\r
32+ init_special_inode(inode, inode->i_mode, do_that_magic(fattr->rdev));\r
33 memcpy(&inode->u.nfs_i.fh, fh, sizeof(inode->u.nfs_i.fh));\r
34 }\r
35 nfs_refresh_inode(inode, fattr);\r
36@@ -1010,7 +1026,7 @@\r
37 }\r
38 inode->i_rdev = 0;\r
39 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))\r
40- inode->i_rdev = to_kdev_t(fattr->rdev);\r
41+ inode->i_rdev = to_kdev_t(do_that_magic(fattr->rdev));\r
42 \r
43 /* Update attrtimeo value */\r
44 if (!invalid && time_after(jiffies, NFS_ATTRTIMEO_UPDATE(inode)+NFS_ATTRTIMEO(inode))) {\r
45diff -u -N -r linux.orig/fs/nfs/mount_clnt.c linux.nfs/fs/nfs/mount_clnt.c\r
46--- linux.orig/fs/nfs/mount_clnt.c Thu Apr 13 10:54:19 2000\r
47+++ linux.nfs/fs/nfs/mount_clnt.c Fri Mar 9 10:58:47 2001\r
48@@ -87,7 +87,7 @@\r
49 \r
50 clnt = rpc_create_client(xprt, hostname,\r
51 &mnt_program, version,\r
52- RPC_AUTH_NULL);\r
53+ RPC_AUTH_UNIX);\r
54 if (!clnt) {\r
55 xprt_destroy(xprt);\r
56 } else {\r
57diff -u -N -r linux.orig/fs/nfs/proc.c linux.nfs/fs/nfs/proc.c\r
58--- linux.orig/fs/nfs/proc.c Fri Feb 9 14:29:44 2001\r
59+++ linux.nfs/fs/nfs/proc.c Mon Apr 30 16:54:48 2001\r
60@@ -181,6 +181,10 @@\r
61 return status;\r
62 }\r
63 \r
64+/* convert Linux major/minor number into Tru64 major/minor */\r
65+#define linux2tru64(rdev) \\r
66+ (MAJOR((rdev))<<20 | MINOR((rdev)))\r
67+\r
68 /*\r
69 * In NFSv2, mknod is grafted onto the create call.\r
70 */\r
71@@ -201,7 +205,7 @@\r
72 sattr->ia_valid &= ~ATTR_SIZE;\r
73 } else if (S_ISCHR(mode) || S_ISBLK(mode)) {\r
74 sattr->ia_valid |= ATTR_SIZE;\r
75- sattr->ia_size = rdev; /* get out your barf bag */\r
76+ sattr->ia_size = linux2tru64(rdev); /* get out your barf bag */\r
77 }\r
78 \r
79 fattr->valid = 0;\r
This page took 0.477902 seconds and 4 git commands to generate.