corruption

Andries.Brouwer
2000-11-29T04:39:21Z

I did again a large test comparing two identical trees.
Found again corruption, and, upon inspection, the disk
files did not differ - this is in-core corruption only.

A few days ago:

diff -r /c2/linux/linux-2.4.0-test10/linux/include/asm-sparc/ecc.h /g1/linux/li\
nux-2.4.0-test10/linux/include/asm-sparc/ecc.h
80,83c80,95
< #define ECC_FADDR0_CACHE 0x00000800
< #define ECC_FADDR0_SIZE 0x00000700
< #define ECC_FADDR0_TYPE 0x000000f0
< #define ECC_FADDR0_PADDR 0x0000000f
---
> #define ECC_FADDR0_Ccount << RATIO_SCALE_LOG;
> if (db->bytes_out != 0)
> {
> new_ratio /= db->bytes_out;
> }
>
> if (new_ratio < db->ratio || new_ratio < 1 * RATIO_SCALE)
> {
> bsd_clear (db);
> return 1;
> }
> db->ratio = new_ratio;
> }
> }
> return 0;
> }

Here the corruption starts precisely 3072 bytes into the file
(which lives on a filesystem with 1024-byte blocks).

But the tail is a fragment of drivers/isdn/isdn_bsdcomp.c
starting at an offset of 7168 bytes.

The former lives on blocks 6373895 6373896 6373897 6373898 6373899,
the other on blocks 2475568...2475579,2475616...2475628.

Today:

diff -r /g1/linux/linux-2.4.0-test11vanilla/linux/net/sched/sch_cbq.c /c2/linux\
/linux-2.4.0-test11vanilla/linux/net/sched/sch_cbq.c
2000c2000,2115
< cbq_destr\201XM^@\202XM^@^@^@^@^@^@^@^@^@^@^@...

(lots of nulls)

with corruption starting at an offset of 47104=46*1024 bytes.
Don't know where the corruption part is from.

Andries