This turned out to actually be an e2fsprogs bug, not a kernel bug.
E2fsck was getting confused in some cases and interpreting a completely
empty directory block as a HTREE interior node, and thus incorrectly
flagging a valid HTREE directory as being corrupt. Your test case tends
to generate the empty directory blocks because it does a large amounts
of creates and deletes.
Anyway, let's try to synchronize on a common set of kernel patches and
userspace utilities, and see whether or not we've managed to get all of
the problems fixed.
For the kernel patches, I've created a patches against 2.4.19 and 2.5.39
that include the Andreas' kernel stack usage patch and Chrisl' empty
directory entry split patch, which can be found here:
http://thunk.org/tytso/linux/ext3-dxdir/patch-ext3-dxdir-2.4.19-3
http://thunk.org/tytso/linux/ext3-dxdir/patch-ext3-dxdir-2.5.39
In addition, I've released new e2fsprogs test release, which you can
obtain from sourceforge:
http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.30-WIP-0930.tar.gz
With these code base, and using a freshly created filesystem, I haven't
been able to reproduce any problems using Ryan's fs-ream.c stress
tester. So I'm pretty confident about its stability, although there
might possibly be some race conditions lurking about under extreme load.
Ryan, you care to give it a go, and see what you can find?
- Ted
-
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/