On Fri, 2007-05-04 16:59:51 +0200, Bernd Schubert <bs@xxxxxxxxx> wrote:Was this missing from your copy of the original post, or did you delete it without reading? Note last sentence...To see whats going on, I copied the entire / (so the initrd) into a tmpfs root, chrooted into it, also bind mounted the main / into this chroot and compared several times /bin of chroot/bin and the bind-mounted /bin while the mkfs.ext2 command was running.
beo-05:/# diff -r /bin /oldroot/bin/
beo-05:/# diff -r /bin /oldroot/bin/
beo-05:/# diff -r /bin /oldroot/bin/
Binary files /bin/sleep and /oldroot/bin/sleep differ
beo-05:/# diff -r /bin /oldroot/bin/
Binary files /bin/bsd-csh and /oldroot/bin/bsd-csh differ
Binary files /bin/cat and /oldroot/bin/cat differ
...
Also tested different schedulers, at least happens with deadline and anticipatory.
The corruption does NOT happen on running the mkfs command on /dev/sda1, but happens with sda2, sda3 and sda3. Also doesn't happen with extended partitions of sda1.
Is sda2 the largest filesystem out of sda2, sda3 (and the logical
partitions within the extended sda1, if these get mkfs'ed, too)?
I'm not too sure that this is a kernel bug, but probably a bad RAM
chip. Did you run memtest86 for a while? ...and can you reproduce this
problem on different machines?
MfG, JBG
Summary: The system ramdisk (initrd) gets corrupted while running mkfs.ext2 on a local sata disk partition.
Reproduced on kernel versions: vanilla 2.6.16 - 2.6.20 (<2.6.16 doesn't run on any of the systems I can do tests with). Please note:
I could reproduce this on serveral systems, all of them use ECC
memory and the memory of most of them the memory is monitored using
EDAC.