]> git.pld-linux.org Git - packages/kernel.git/blob - linux-alpha-nfs-2.4.2.patch
9cdd694a797623b3d0f76ee69304dd85 linux-loop-hvr-2.4.16.0.patch
[packages/kernel.git] / linux-alpha-nfs-2.4.2.patch
1 diff -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                 /*\r
34                  * Preset the size and mtime, as there's no need\r
35                  * to invalidate the caches.\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
45 diff -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
57 diff -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.041367 seconds and 3 git commands to generate.