Re: Massive e2fs corruption with 2.2.9/10?

Larry McVoy (lm@bitmover.com)
Thu, 17 Jun 1999 11:27:33 -0600


: > 530> cp bigone bigtwo; cmp bigone bigtwo
: > bigone bigtwo differ: char 1365812, line 13789
: > 531> cp bigone bigtwo; cmp bigone bigtwo
: > bigone bigtwo differ: char 24542708, line 277660
:
: I've done some similar attempts with 110MB and 220MB files
: but I had no `success' (read: no compare errors!).
:
: btw, you always should use `cmp -l file1 file2' in order to get more information!

If you pick up

ftp://ftp.bitmover.com/pub/lmdd.tar.gz

you will get a Linux binary and the source code (the only docs that are current,
I'm afraid) for a tool which was designed to deal with this problem. You
can do this

lmdd of=XXX bs=10m move=120m opat=1

That says

of=XXX put the data in XXX
bs=10m do 10MB writes
move=120m stop after writing 120MB
opat=1 put a pattern in the output stream. The pattern is
a 4 byte int containing the file offset of that 4 byte
int, i.e., 0, 4, 8, 12, .....

To read it back and make sure the pattern is there

lmdd if=XXX bs=10m move=120m ipat=1

You can also read it back using random offsets within the file, something
which sometimes catches an error or two:

lmdd if=XXX bs=512 rand=120m count=1000 ipat=1

This tool has been used for this sort of stuff at a bunch of different
companies. It's very low level but it is exactly what you want.

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