ext2_free_blocks: Freeing blocks not in datazone - began with 2.5.3-dj5

From: rwhron@earthlink.net
Date: Sat Feb 16 2002 - 11:14:50 EST


My test system started giving ext2_free_blocks errors on 2.5.3-dj5:

2.5.3-dj5 running tiobench.pl -s 2048 -t 8:
Feb 10 19:12:40 mountain kernel: EXT2-fs error (device ide1(22,3)):
ext2_free_blocks: Freeing blocks not in datazone - block = 2048136, count = 120

2.5.3-dj5 with taskfile i/o enabled running tiobench.pl -s 2048 -t 8
Feb 13 03:00:15 mountain kernel: EXT2-fs error (device ide1(22,3)):
ext2_free_blocks: Freeing blocks not in datazone - block = 2048088, count = 168

2.5.4-dj2 running dbench 128:
Feb 15 19:49:44 mountain kernel: EXT2-fs error (device ide1(22,3)):
ext2_free_blocks: Freeing blocks not in datazone - block = 2048174, count = 82

At this point I did an e2fsck on the filesystem. e2fsck found some
Block bitmap differences in the 2048xxx range.

With help from cdub on #kerneljanitors, I added the debug below to
ext2_free_blocks in fs/ext2/balloc.c:

ext2_error (sb, "ext2_free_blocks",
        "Freeing blocks not in datazone - "
        "first_data_block = %lu, block = %lu "
        "count = %lu, blocks_count = %lu", le32_to_cpu(es->s_first_data_block),
        block, count, le32_to_cpu(es->s_blocks_count));

2.5.4-dj2 running tiobench.pl -s 2048 -t 8:
Feb 16 00:49:21 mountain kernel: EXT2-fs error (device ide1(22,3)):
ext2_free_blocks: Freeing blocks not in datazone - first_data_block = 0,
block = 2047648 count = 608, blocks_count = 2048256

Based on an earlier suggestion from cdub, I changed:

block + count >= le32_to_cpu(es->s_blocks_count)) {
to
block + count > le32_to_cpu(es->s_blocks_count)) {

At this point I did an e2fsck on the filesystem. e2fsck fixed some
Block bitmap differences in the -2047648 to -2048255 block range.
I re-ran the dbench 128, and tiobench.pl 8 16 32 64 128 and
did not get any errors. Don't know if above is the proper
fix or not, but it seems to work, and is closer to 2.5.5-pre1.

2.5.4-pre5, 2.5.5-pre1, and 3 other kernels tested after the first
appearance of the error had no problems. 2.5.3-dj4 was okay too.

Hope this helps.

-- 
Randy Hron

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Feb 23 2002 - 21:00:11 EST