@@ -5,7 +5,8 @@
obj-$(CONFIG_EXT3_FS) += ext3.o
- ext3-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o iopen.o \
+ ext3-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
- ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o mballoc.o
+ ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o \
+ mballoc.o dynlocks.o
--- linux-2.6.18.8.orig/fs/ext3/inode.c 2007-07-17 09:18:12.000000000 +0200
+++ linux-2.6.18.8/fs/ext3/inode.c 2007-07-17 11:08:11.000000000 +0200
@@ -40,8 +40,6 @@
- #include "iopen.h"
+ #include "xattr.h"
#include "acl.h"
-static int ext3_writepage_trans_blocks(struct inode *inode);
@@ -5,7 +5,7 @@
obj-$(CONFIG_EXT3_FS) += ext3.o
- ext3-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o iopen.o \
+ ext3-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
- ioctl.o namei.o super.o symlink.o hash.o resize.o
+ ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o
/*
@@ -373,6 +374,8 @@ struct ext3_inode {
+ #define EXT3_MOUNT_QUOTA 0x80000 /* Some quota option set */
+ #define EXT3_MOUNT_USRQUOTA 0x100000 /* "old" user quota */
#define EXT3_MOUNT_GRPQUOTA 0x200000 /* "old" group quota */
- #define EXT3_MOUNT_IOPEN 0x400000 /* Allow access via iopen */
- #define EXT3_MOUNT_IOPEN_NOPRIV 0x800000/* Make iopen world-readable */
+#define EXT3_MOUNT_EXTENTS 0x2000000/* Extents support */
+#define EXT3_MOUNT_EXTDEBUG 0x4000000/* Extents debug */
#define EXT2_MOUNT_NOLOAD EXT3_MOUNT_NOLOAD
#define EXT2_MOUNT_ABORT EXT3_MOUNT_ABORT
#define EXT2_MOUNT_DATA_FLAGS EXT3_MOUNT_DATA_FLAGS
+Index: linux-2.6.18-53.1.21/fs/ext3/super.c
+===================================================================
+--- linux-2.6.18-53.1.21.orig/fs/ext3/super.c
++++ linux-2.6.18-53.1.21/fs/ext3/super.c
+@@ -677,6 +677,7 @@ enum {
+ Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
+ Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
+ Opt_ignore, Opt_barrier, Opt_err, Opt_resize, Opt_usrquota,
++ Opt_iopen, Opt_noiopen, Opt_iopen_nopriv,
+ Opt_grpquota
+ };
+
+@@ -726,6 +727,9 @@ static match_table_t tokens = {
+ {Opt_noquota, "noquota"},
+ {Opt_quota, "quota"},
+ {Opt_usrquota, "usrquota"},
++ {Opt_iopen, "iopen"},
++ {Opt_noiopen, "noiopen"},
++ {Opt_iopen_nopriv, "iopen_nopriv"},
+ {Opt_barrier, "barrier=%u"},
+ {Opt_err, NULL},
+ {Opt_resize, "resize"},
+@@ -1041,6 +1045,10 @@ clear_qf_name:
+ else
+ clear_opt(sbi->s_mount_opt, BARRIER);
+ break;
++ case Opt_iopen:
++ case Opt_noiopen:
++ case Opt_iopen_nopriv:
++ break;
+ case Opt_ignore:
+ break;
+ case Opt_resize:
-Index: linux-2.6.9-full/fs/ext3/iopen.c
-===================================================================
---- linux-2.6.9-full.orig/fs/ext3/iopen.c 2006-04-25 08:51:11.000000000 +0400
-+++ linux-2.6.9-full/fs/ext3/iopen.c 2006-05-06 01:21:11.000000000 +0400
-@@ -94,9 +94,12 @@ static struct dentry *iopen_lookup(struc
- assert(!(alternate->d_flags & DCACHE_DISCONNECTED));
- }
-
-- if (!list_empty(&inode->i_dentry)) {
-- alternate = list_entry(inode->i_dentry.next,
-- struct dentry, d_alias);
-+ list_for_each(lp, &inode->i_dentry) {
-+ alternate = list_entry(lp, struct dentry, d_alias);
-+ /* ignore dentries created for ".." to preserve
-+ * proper dcache hierarchy -- bug 10458 */
-+ if (alternate->d_flags & DCACHE_NFSFS_RENAMED)
-+ continue;
- dget_locked(alternate);
- spin_lock(&alternate->d_lock);
- alternate->d_flags |= DCACHE_REFERENCED;
Index: linux-2.6.9-full/fs/ext3/namei.c
===================================================================
--- linux-2.6.9-full.orig/fs/ext3/namei.c 2006-05-06 01:21:10.000000000 +0400
+++ linux-2.6.9-full/fs/ext3/namei.c 2006-05-06 01:29:30.000000000 +0400
@@ -1003,6 +1003,38 @@ static struct dentry *ext3_lookup(struct
+
return ERR_PTR(-EACCES);
}
-
+ /* ".." shouldn't go into dcache to preserve dcache hierarchy
+ * otherwise we'll get parent being a child of actual child.
+ * see bug 10458 for details -bzzz */
+ return goal;
+ }
+
- return iopen_connect_dentry(dentry, inode, 1);
+ return d_splice_alias(inode, dentry);
}
@@ -5,7 +5,7 @@
obj-$(CONFIG_EXT3_FS) += ext3.o
- ext3-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o iopen.o \
+ ext3-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
- ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o
+ ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o mballoc.o
-Index: linux-2.6.18.i386/fs/ext4/iopen.c
-===================================================================
---- linux-2.6.18.i386.orig/fs/ext4/iopen.c
-+++ linux-2.6.18.i386/fs/ext4/iopen.c
-@@ -91,9 +91,12 @@ static struct dentry *iopen_lookup(struc
- assert(!(alternate->d_flags & DCACHE_DISCONNECTED));
- }
-
-- if (!list_empty(&inode->i_dentry)) {
-- alternate = list_entry(inode->i_dentry.next,
-- struct dentry, d_alias);
-+ list_for_each(lp, &inode->i_dentry) {
-+ alternate = list_entry(lp, struct dentry, d_alias);
-+ /* ignore dentries created for ".." to preserve
-+ * proper dcache hierarchy -- bug 10458 */
-+ if (alternate->d_flags & DCACHE_NFSFS_RENAMED)
-+ continue;
- dget_locked(alternate);
- spin_lock(&alternate->d_lock);
- alternate->d_flags |= DCACHE_REFERENCED;
Index: linux-2.6.18.i386/fs/ext4/namei.c
===================================================================
--- linux-2.6.18.i386.orig/fs/ext4/namei.c
+++ linux-2.6.18.i386/fs/ext4/namei.c
@@ -1067,6 +1067,38 @@ static struct dentry *ext4_lookup(struct
- return ERR_CAST(inode);
+ }
+ }
}
-
+ /* ".." shouldn't go into dcache to preserve dcache hierarchy
+ * otherwise we'll get parent being a child of actual child.
+ * see bug 10458 for details -bzzz */
+ return goal;
+ }
+
- return iopen_connect_dentry(dentry, inode, 1);
+ return d_splice_alias(inode, dentry);
}
void ext4_block_bitmap_set(struct super_block *sb,
struct ext4_group_desc *bg, ext4_fsblk_t blk)
-@@ -1286,6 +1287,7 @@
+@@ -1286,9 +1287,11 @@
Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
Opt_ignore, Opt_barrier, Opt_nobarrier, Opt_err, Opt_resize,
Opt_usrquota, Opt_grpquota, Opt_i_version,
+ Opt_mballoc, Opt_extents,
Opt_stripe, Opt_delalloc, Opt_nodelalloc,
- Opt_inode_readahead_blks, Opt_journal_ioprio,
- Opt_iopen, Opt_noiopen, Opt_iopen_nopriv, Opt_bigendian_extents,
-@@ -1346,6 +1348,8 @@
+ Opt_block_validity, Opt_noblock_validity,
+- Opt_inode_readahead_blks, Opt_journal_ioprio
++ Opt_inode_readahead_blks, Opt_journal_ioprio,
++ Opt_iopen, Opt_noiopen, Opt_iopen_nopriv,
+ };
+
+ static match_table_t tokens = {
+@@ -1346,6 +1348,11 @@
{Opt_barrier, "barrier"},
{Opt_nobarrier, "nobarrier"},
{Opt_i_version, "i_version"},
+ {Opt_mballoc, "mballoc"},
+ {Opt_extents, "extents"},
++ {Opt_iopen, "iopen"},
++ {Opt_noiopen, "noiopen"},
++ {Opt_iopen_nopriv, "iopen_nopriv"},
{Opt_stripe, "stripe=%u"},
{Opt_resize, "resize"},
{Opt_delalloc, "delalloc"},
-@@ -1768,6 +1771,9 @@
+@@ -1768,6 +1771,12 @@
case Opt_bigendian_extents:
bigendian_extents = 1;
break;
+ case Opt_mballoc:
+ case Opt_extents:
++ case Opt_iopen:
++ case Opt_noiopen:
++ case Opt_iopen_nopriv:
+ break;
default:
printk(KERN_ERR
ext4-version-2.6-rhel5.patch
ext4-wantedi-2.6-rhel5.patch
-iopen-2.6.18-rhel5-ext4.patch
ext4-map_inode_page-2.6.18-rhel5.patch
export-ext4-2.6-rhel5.patch
ext4-remove-cond_resched-calls-rhel5.patch
ext4-xattr-no-update-ctime-rhel5.patch
ext4-prealloc-rhel5.patch
ext4-mballoc-extra-checks-rhel5.patch
+ext4-misc-rhel5.patch
ext4-big-endian-check-2.6-rhel5.patch
ext4-alloc-policy-2.6-rhel5.patch
-ext4-misc-rhel5.patch
ext4-force_over_16tb-rhel5.patch
ext4-pdir-fix.patch
ext4-osd-iop-common.patch
ext3-version-2.6-rhel5.patch
ext3-wantedi-2.6-rhel4.patch
-iopen-2.6.18-rhel5.patch
ext3-map_inode_page-2.6.18.patch
export-ext3-2.6-rhel4.patch
ext3-include-fixes-2.6-rhel4.patch