Am Freitag, den 01.12.2006, 00:02 +0300 schrieb Andrey: > - fs asks to write 2048 bytes of zeroes to some sector. It always > happens ONLY with requests of 2K and only if data is all zeroes. It > happens on random sectors. Write request goes w/o error. > - someone (i have vague idea how linux cache works) sends a READA bio > with size of 4K for an area starting with the same sector. It goes down > to raid5 and it returns garbage. The data returned is not all zeroes > and it _looks_ like it returns data that was there before zeroes were > written. here goes the corruption. A question: How do pin down the transaction where the corruption occurs? I'm trying to retrieve a detailed trace using blktrace. Using your test case, e2fsck is indeed reliably reporting a corruption (just unpacking a Linux source tarball is enough), but I don't see any writes smaller than one page (8 sectors, 4k).
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil