Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / kernel_patches / patches / iopen-misc-2.6-suse.patch
1 Index: linux-2.6.4-51.0/Documentation/filesystems/ext2.txt
2 ===================================================================
3 --- linux-2.6.4-51.0.orig/Documentation/filesystems/ext2.txt    2004-05-06 22:21:26.000000000 -0400
4 +++ linux-2.6.4-51.0/Documentation/filesystems/ext2.txt 2004-05-06 22:24:42.000000000 -0400
5 @@ -35,6 +35,22 @@
6  
7  sb=n                           Use alternate superblock at this location.
8  
9 +iopen                          Makes an invisible pseudo-directory called 
10 +                               __iopen__ available in the root directory
11 +                               of the filesystem.  Allows open-by-inode-
12 +                               number.  i.e., inode 3145 can be accessed
13 +                               via /mntpt/__iopen__/3145
14 +
15 +iopen_nopriv                   This option makes the iopen directory be
16 +                               world-readable.  This may be safer since it
17 +                               allows daemons to run as an unprivileged user,
18 +                               however it significantly changes the security
19 +                               model of a Unix filesystem, since previously
20 +                               all files under a mode 700 directory were not
21 +                               generally avilable even if the
22 +                               permissions on the file itself is
23 +                               world-readable.
24 +
25  grpquota,noquota,quota,usrquota        Quota options are silently ignored by ext2.
26  
27  
28 Index: linux-2.6.4-51.0/fs/dcache.c
29 ===================================================================
30 --- linux-2.6.4-51.0.orig/fs/dcache.c   2004-05-06 22:24:42.000000000 -0400
31 +++ linux-2.6.4-51.0/fs/dcache.c        2004-05-06 22:58:37.000000000 -0400
32 @@ -1195,12 +1195,11 @@
33   * dcache entries should not be moved in this way.
34   */
35  
36 -void d_move(struct dentry * dentry, struct dentry * target)
37 +void __d_move(struct dentry * dentry, struct dentry * target)
38  {
39         if (!dentry->d_inode)
40                 printk(KERN_WARNING "VFS: moving negative dcache entry\n");
41  
42 -       spin_lock(&dcache_lock);
43         write_seqlock(&rename_lock);
44         /*
45          * XXXX: do we really need to take target->d_lock?
46 @@ -1253,6 +1252,14 @@
47         spin_unlock(&target->d_lock);
48         spin_unlock(&dentry->d_lock);
49         write_sequnlock(&rename_lock);
50 +}
51 +
52 +EXPORT_SYMBOL(__d_move);
53 +
54 +void d_move(struct dentry *dentry, struct dentry *target)
55 +{
56 +       spin_lock(&dcache_lock);
57 +       __d_move(dentry, target);
58         spin_unlock(&dcache_lock);
59  }
60  
61 Index: linux-2.6.4-51.0/include/linux/dcache.h
62 ===================================================================
63 --- linux-2.6.4-51.0.orig/include/linux/dcache.h        2004-05-06 22:24:42.000000000 -0400
64 +++ linux-2.6.4-51.0/include/linux/dcache.h     2004-05-06 23:03:43.000000000 -0400
65 @@ -234,6 +234,7 @@
66   * This adds the entry to the hash queues.
67   */
68  extern void d_rehash(struct dentry *);
69 +extern void __d_rehash(struct dentry *, int lock);
70  
71  /**
72   * d_add - add dentry to hash queues
73 @@ -252,6 +253,7 @@
74  
75  /* used for rename() and baskets */
76  extern void d_move(struct dentry *, struct dentry *);
77 +extern void __d_move(struct dentry *, struct dentry *);
78  
79  /* appendix may either be NULL or be used for transname suffixes */
80  extern struct dentry * d_lookup(struct dentry *, struct qstr *);