Re: ext2 FS corruption with 2.5.59.

From: Hugh Dickins (hugh@veritas.com)
Date: Thu Jan 23 2003 - 09:09:12 EST


On Thu, 23 Jan 2003, Oleg Drokin wrote:
>
> My test consists of running "fsx -c 1234 testfile", "iozone -a",
> "dbench 60", "fsstress -p10 -n1000000 -d ." at the same time on the
> tested FS.
> fsx usually breaks just when dbench is finished.

It was "dbench 100" which led me to investigate and post patch below
a couple of days ago: worth trying again with this patch applied.
But I'm no expert on ext2, and fear there may be lots more wrong:
does look rather as if nobody has been stressing ext2 for a while.

For almost a year (since 2.5.4) ext2_new_block has tended to set err
0 instead of -ENOSPC or -EIO. This manifested variously (typically
depends on what's stale in ext2_get_block's chain[4] array): sometimes
__brelse free free buffer backtraces, sometimes release_pages oops,
usually generic_make_request beyond end of device messages, followed
by further ext2 errors.

Hugh

--- 2.5.59/fs/ext2/balloc.c Tue Dec 24 06:23:03 2002
+++ linux/fs/ext2/balloc.c Tue Jan 21 20:14:37 2003
@@ -470,10 +470,10 @@
 
         ext2_debug ("allocating block %d. ", block);
 
+ *err = 0;
 out_release:
         group_release_blocks(desc, gdp_bh, group_alloc);
         release_blocks(sb, es_alloc);
- *err = 0;
 out_unlock:
         unlock_super (sb);
         DQUOT_FREE_BLOCK(inode, dq_alloc);

-
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 : Thu Jan 23 2003 - 22:00:31 EST