@@ -1481,6 +1481,7 @@ enum {
Opt_iopen, Opt_noiopen, Opt_iopen_nopriv, Opt_bigendian_extents,
- Opt_force_over_16tb,
+ Opt_force_over_128tb,
+ Opt_no_mbcache,
};
@@ -1554,6 +1555,7 @@ static match_table_t tokens = {
{Opt_noauto_da_alloc, "noauto_da_alloc"},
{Opt_bigendian_extents, "bigendian_extents"},
- {Opt_force_over_16tb, "force_over_16tb"},
+ {Opt_force_over_128tb, "force_over_128tb"},
+ {Opt_no_mbcache, "no_mbcache"},
{Opt_err, NULL},
};
@@ -1502,6 +1502,7 @@
Opt_inode_readahead_blks, Opt_journal_ioprio,
Opt_discard, Opt_nodiscard,
- Opt_mballoc, Opt_bigendian_extents, Opt_force_over_16tb,
+ Opt_mballoc, Opt_bigendian_extents, Opt_force_over_128tb,
+ Opt_no_mbcache,
Opt_extents, Opt_noextents,
};
@@ -1334,6 +1336,7 @@ enum {
Opt_inode_readahead_blks, Opt_journal_ioprio,
Opt_iopen, Opt_noiopen, Opt_iopen_nopriv, Opt_bigendian_extents,
- Opt_force_over_16tb,
+ Opt_force_over_128tb,
+ Opt_extents, Opt_noextents,
};
@@ -1401,6 +1404,8 @@ static match_table_t tokens = {
{Opt_noauto_da_alloc, "noauto_da_alloc"},
{Opt_bigendian_extents, "bigendian_extents"},
- {Opt_force_over_16tb, "force_over_16tb"},
+ {Opt_force_over_128tb, "force_over_128tb"},
+ {Opt_extents, "extents"},
+ {Opt_noextents, "noextents"},
{Opt_err, NULL},
if (!options)
return 1;
@@ -1829,6 +1835,33 @@ set_qf_format:
- case Opt_force_over_16tb:
- force_over_16tb = 1;
+ case Opt_force_over_128tb:
+ force_over_128tb = 1;
break;
+ case Opt_extents:
+ if (!EXT4_HAS_INCOMPAT_FEATURE(sb,
@@ -1515,6 +1517,7 @@ enum {
Opt_inode_readahead_blks, Opt_journal_ioprio,
Opt_discard, Opt_nodiscard,
- Opt_mballoc, Opt_bigendian_extents, Opt_force_over_16tb,
+ Opt_mballoc, Opt_bigendian_extents, Opt_force_over_128tb,
+ Opt_extents, Opt_noextents,
};
if (!options)
return 1;
@@ -2039,6 +2045,32 @@ set_qf_format:
- case Opt_force_over_16tb:
- force_over_16tb = 1;
+ case Opt_force_over_128tb:
+ force_over_128tb = 1;
break;
+ case Opt_extents:
+ if (!EXT4_HAS_INCOMPAT_FEATURE(sb,
struct proc_dir_entry *ext4_proc_root;
-+static int force_over_16tb;
++static int force_over_128tb;
+
static int ext4_load_journal(struct super_block *, struct ext4_super_block *,
unsigned long journal_devnum);
Opt_stripe, Opt_delalloc, Opt_nodelalloc,
Opt_inode_readahead_blks, Opt_journal_ioprio,
Opt_iopen, Opt_noiopen, Opt_iopen_nopriv, Opt_bigendian_extents,
-+ Opt_force_over_16tb,
++ Opt_force_over_128tb,
};
static match_table_t tokens = {
{Opt_auto_da_alloc, "auto_da_alloc"},
{Opt_noauto_da_alloc, "noauto_da_alloc"},
{Opt_bigendian_extents, "bigendian_extents"},
-+ {Opt_force_over_16tb, "force_over_16tb"},
++ {Opt_force_over_128tb, "force_over_128tb"},
{Opt_err, NULL},
};
break;
case Opt_mballoc:
break;
-+ case Opt_force_over_16tb:
-+ force_over_16tb = 1;
++ case Opt_force_over_128tb:
++ force_over_128tb = 1;
+ break;
default:
printk(KERN_ERR
goto failed_mount;
}
-+ if (ext4_blocks_count(es) >= (1ULL << 32)) {
-+ if (force_over_16tb == 0) {
++ if (ext4_blocks_count(es) > (8ULL << 32)) {
++ if (force_over_128tb == 0) {
+ printk(KERN_ERR "EXT4-fs does not support filesystems "
-+ "greater than 16TB and can cause data corruption."
-+ "Use \"force_over_16tb\" mount option to override."
++ "greater than 128TB and can cause data corruption."
++ "Use \"force_over_128tb\" mount option to override."
+ "\n");
+ goto failed_mount;
+ }
struct proc_dir_entry *ext4_proc_root;
static struct kset *ext4_kset;
-+static int force_over_16tb;
++static int force_over_128tb;
+
static int ext4_load_journal(struct super_block *, struct ext4_super_block *,
unsigned long journal_devnum);
Opt_inode_readahead_blks, Opt_journal_ioprio,
Opt_discard, Opt_nodiscard,
- Opt_mballoc, Opt_bigendian_extents,
-+ Opt_mballoc, Opt_bigendian_extents, Opt_force_over_16tb,
++ Opt_mballoc, Opt_bigendian_extents, Opt_force_over_128tb,
};
static const match_table_t tokens = {
{Opt_auto_da_alloc, "auto_da_alloc"},
{Opt_noauto_da_alloc, "noauto_da_alloc"},
{Opt_bigendian_extents, "bigendian_extents"},
-+ {Opt_force_over_16tb, "force_over_16tb"},
++ {Opt_force_over_128tb, "force_over_128tb"},
{Opt_mballoc, "mballoc"},
{Opt_discard, "discard"},
{Opt_nodiscard, "nodiscard"},
break;
case Opt_mballoc:
break;
-+ case Opt_force_over_16tb:
-+ force_over_16tb = 1;
++ case Opt_force_over_128tb:
++ force_over_128tb = 1;
+ break;
default:
ext4_msg(sb, KERN_ERR,
goto failed_mount;
}
-+ if (ext4_blocks_count(es) >= (1ULL << 32)) {
-+ if (force_over_16tb == 0) {
++ if (ext4_blocks_count(es) > (8ULL << 32)) {
++ if (force_over_128tb == 0) {
+ printk(KERN_ERR "EXT4-fs does not support filesystems "
-+ "greater than 16TB and can cause data corruption."
-+ "Use \"force_over_16tb\" mount option to override."
++ "greater than 128TB and can cause data corruption."
++ "Use \"force_over_128tb\" mount option to override."
+ "\n");
+ goto failed_mount;
+ }
ext4-misc-rhel5.patch
ext4-big-endian-check-2.6-rhel5.patch
ext4-alloc-policy-2.6-rhel5.patch
-ext4-force_over_16tb-rhel5.patch
+ext4-force_over_128tb-rhel5.patch
ext4-pdir-fix.patch
ext4-osd-iop-common.patch
ext4-osd-iam-exports.patch
ext4-misc-rhel6.patch
ext4-big-endian-check-2.6-rhel6.patch
ext4-alloc-policy-2.6-rhel5.patch
-ext4-force_over_16tb-rhel6.patch
+ext4-force_over_128tb-rhel6.patch
ext4-pdir-fix-rhel6.patch
ext4-osd-iop-common-rhel6.patch
ext4-osd-iam-exports-rhel6.patch