diff mbox

ext4: Enable mount ext4 with AGGRESSIVE_TEST

Message ID 4A96118F.5040707@rs.jp.nec.com
State Superseded, archived
Headers show

Commit Message

Akira Fujita Aug. 27, 2009, 4:54 a.m. UTC
When the AGGRESSIVE_TEST is enabled,
the maximum extent count of inode becomes '3' in ext4_ext_space_root(),
but __ext4_ext_check() which is called via ext4_fill_super()
checks eh_max is larger '4', therefore we always get -EIO and can not mount ext4.
The patch fix this issue.

Aug 26 15:43:50 bsd086 kernel: [   96.070277] EXT4-fs error (device sda8): ext4_ext_check_inode: bad header/extent in inode #8: too large eh_max - magic f30a, entries 1, max 4(3), depth 0(0)
Aug 26 15:43:50 bsd086 kernel: [   96.070526] EXT4-fs (sda8): no journal found


Signed-off-by: Akira Fujita <a-fujita@rs.jp.nec.com>
---
 extents.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- linux-2.6.31-rc4-A/fs/ext4/extents.c        2009-08-26 14:59:47.000000000 +0900
+++ linux-2.6.31-rc4-B/fs/ext4/extents.c        2009-08-26 15:45:31.000000000 +0900
@@ -263,8 +263,8 @@  static int ext4_ext_space_root(struct in
        size -= sizeof(struct ext4_extent_header);
        size /= sizeof(struct ext4_extent);
 #ifdef AGGRESSIVE_TEST
-       if (size > 3)
-               size = 3;
+       if (size > 4)
+               size = 4;
 #endif
        return size;
 }