1 Index: linux-2.6.9-67.0.22/fs/ext3/super.c
2 ===================================================================
3 --- linux-2.6.9-67.0.22.orig/fs/ext3/super.c
4 +++ linux-2.6.9-67.0.22/fs/ext3/super.c
5 @@ -89,6 +89,8 @@ handle_t *ext3_journal_start_sb(struct s
6 return journal_start(journal, nblocks);
9 +static int bigendian_extents;
12 * The only special thing we need to do here is to make sure that all
13 * journal_stop calls result in the superblock being marked dirty, so
14 @@ -657,7 +659,7 @@ enum {
15 Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0,
16 Opt_ignore, Opt_barrier, Opt_err, Opt_resize,
17 Opt_iopen, Opt_noiopen, Opt_iopen_nopriv,
18 - Opt_extents, Opt_noextents, Opt_extdebug,
19 + Opt_extents, Opt_noextents, Opt_bigendian_extents, Opt_extdebug,
20 Opt_mballoc, Opt_nomballoc, Opt_stripe,
23 @@ -711,6 +713,7 @@ static match_table_t tokens = {
24 {Opt_iopen_nopriv, "iopen_nopriv"},
25 {Opt_extents, "extents"},
26 {Opt_noextents, "noextents"},
27 + {Opt_bigendian_extents, "bigendian_extents"},
28 {Opt_extdebug, "extdebug"},
29 {Opt_barrier, "barrier=%u"},
30 {Opt_mballoc, "mballoc"},
31 @@ -1036,6 +1039,9 @@ clear_qf_name:
33 clear_opt (sbi->s_mount_opt, EXTENTS);
35 + case Opt_bigendian_extents:
36 + bigendian_extents = 1;
39 set_opt (sbi->s_mount_opt, EXTDEBUG);
41 @@ -1952,6 +1958,16 @@ static int ext3_fill_super (struct super
46 + if (bigendian_extents == 0) {
47 + printk(KERN_ERR "EXT3-fs: e2fsck is not guaranteed to work "
48 + "correctly on the filesystem if EXTENTS feature is "
49 + "used on big-endian systems. Use \"bigendian_extents\" "
50 + "mount option to override.\n");
55 set_sb_time_gran(sb, 1000000000U);
56 sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
57 ((sbi->s_mount_opt & EXT3_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);