ext4: Fix kernel BUG at fs/ext4/mballoc.c:910!

With the flex_bg feature enabled, a large file creation oopses the
kernel.   The BUG_ON is:
	BUG_ON(len >= EXT4_BLOCKS_PER_GROUP(sb));

As the allocation of the bitmaps and the inode table can be done
outside the block group with flex_bg, this allows to allocate up to
EXT4_BLOCKS_PER_GROUP blocks in a group.

This patch fixes the oops.

Signed-off-by: Valerie Clement <valerie.clement@bull.net>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
Valerie Clement 2008-02-15 13:48:51 -05:00 committed by Theodore Ts'o
parent 55bd725aa3
commit b73fce69ec

View File

@ -906,7 +906,7 @@ static void ext4_mb_mark_free_simple(struct super_block *sb,
unsigned short chunk; unsigned short chunk;
unsigned short border; unsigned short border;
BUG_ON(len >= EXT4_BLOCKS_PER_GROUP(sb)); BUG_ON(len > EXT4_BLOCKS_PER_GROUP(sb));
border = 2 << sb->s_blocksize_bits; border = 2 << sb->s_blocksize_bits;