1 Index: linux-2.6.11/Documentation/filesystems/ext2.txt
2 ===================================================================
3 --- linux-2.6.11.orig/Documentation/filesystems/ext2.txt 2005-03-02 02:37:50.000000000 -0500
4 +++ linux-2.6.11/Documentation/filesystems/ext2.txt 2005-04-13 22:49:42.116372414 -0400
7 nobh Do not attach buffer_heads to file pagecache.
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
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
25 grpquota,noquota,quota,usrquota Quota options are silently ignored by ext2.
28 Index: linux-2.6.11/fs/dcache.c
29 ===================================================================
30 --- linux-2.6.11.orig/fs/dcache.c 2005-04-13 22:44:50.482498026 -0400
31 +++ linux-2.6.11/fs/dcache.c 2005-04-13 22:50:43.846174872 -0400
32 @@ -1289,14 +1289,13 @@
33 * dcache entries should not be moved in this way.
36 -void d_move(struct dentry * dentry, struct dentry * target)
37 +void d_move_locked(struct dentry * dentry, struct dentry * target)
39 struct hlist_head *list;
42 printk(KERN_WARNING "VFS: moving negative dcache entry\n");
44 - spin_lock(&dcache_lock);
45 write_seqlock(&rename_lock);
47 * XXXX: do we really need to take target->d_lock?
48 @@ -1356,6 +1355,14 @@
49 spin_unlock(&target->d_lock);
50 spin_unlock(&dentry->d_lock);
51 write_sequnlock(&rename_lock);
54 +EXPORT_SYMBOL(d_move_locked);
56 +void d_move(struct dentry *dentry, struct dentry *target)
58 + spin_lock(&dcache_lock);
59 + d_move_locked(dentry, target);
60 spin_unlock(&dcache_lock);
63 Index: linux-2.6.11/include/linux/dcache.h
64 ===================================================================
65 --- linux-2.6.11.orig/include/linux/dcache.h 2005-04-13 22:44:53.777168980 -0400
66 +++ linux-2.6.11/include/linux/dcache.h 2005-04-13 22:49:42.119372070 -0400
68 * This adds the entry to the hash queues.
70 extern void d_rehash(struct dentry *);
71 +extern void d_rehash_cond(struct dentry *, int lock);
74 * d_add - add dentry to hash queues
77 /* used for rename() and baskets */
78 extern void d_move(struct dentry *, struct dentry *);
79 +extern void d_move_locked(struct dentry *, struct dentry *);
81 /* appendix may either be NULL or be used for transname suffixes */
82 extern struct dentry * d_lookup(struct dentry *, struct qstr *);