2005-03-30 17:09:25

by Bernard Blackham

[permalink] [raw]
Subject: ext2 corruption - regression between 2.6.9 and 2.6.10

Whilst trying to stress test a Promise SX8 card, we stumbled across
some nasty filesystem corruption in ext2. Our tests involved
creating an ext2 partition, mounting, running several concurrent
fsx's over it, umounting, and fsck'ing, all scripted[1]. The fsck
would always return with errors.

This regression was traced back to a change between 2.6.9 and
2.6.10, which moves the functionality of ext2_put_inode into
ext2_clear_inode. The attached patch reverses this change, and
eliminated the source of corruption.

Whilst stress tesing the same Promise SX8 card on an ext3 partition
(amd64 machine) also with fsx, we encountered a kernel panic who's
backtrace looked like:
ext3_discard_reservation
ext3_truncate
.
.
.
do_truncate
sys_ftruncate
Could this same change (which was in ext3 also) be responsible for
this?

Bernard.

[1] http://matt.ucc.asn.au/ext2bad/

--
Bernard Blackham <bernard at blackham dot com dot au>


Attachments:
(No filename) (942.00 B)
ext2-fix.diff (1.98 kB)
Download all attachments