One file with Data CRC Error on a JFFS2 root fs
David Fontaine
david.fontaine at transport.alstom.com
Wed Mar 5 04:40:41 EST 2008
Dear All,
I have used a JFFS2 partition as root fs on a ppc_8xx platform with 32MByte
NOR device ( 2x IntelStrata PC28F128P30, kernel 2.6.16 ) for
one year without any trouble until last week.
After analysis, I find (only) one file on rootfs with Data CRC error.
This file is a daemon and none of my applications try to move/copy/modify it.
I suppose Garbage collector tries to move it (for wear levelling or other
purpose) and did not succeed in.
1. Is it right ? Are there other mechanisms which are expected to move
such kind of file?
With the Data CRC log message, I see in the flash raw image the 4th part
of this file as valid inode (correct Jffs2 header struct jffs2_raw_inode,
size of 0x9A6 for this 4th part), the first data bytes OK but 380 bytes
at the end of data were 0xFF.
In another flash block, I find also :
the four first parts marked as obsolete inode of this file
and the 3 last parts of the file marked as Valid inode.
2. Does Garbage collector stop moving this file due to the detection
of Mtd write error? Anybody can help me about understanding why the
erroneous part of the file was marked as Valid, and why JFFS2 passed
the old part as obsolete instead of keeping it Valid.
I try some other kind of tests :
- write some file and check rootfs integrity during two days
to see if flash memory is in failure : no trouble.
- Manually modify the dumped flash to get right bytes instead of
the 380 bytes at 0xFF and dowload it with bootloader: root fs OK
no more Data CRC trouble : the daemon can be started.
- inspect flash dump : many obsolete entries in the file system and
5*256 kbytes erased but no relevant things.
I try to reproduce the trouble to get JFFS Debug Log but without success: I can
only do "after failure" analysis with a raw dump of the flash.
3. Do you have any test suggestion that I can do to identify my trouble and
then fix it?
Thanks in advance for your help.
David Fontaine
More information about the linux-mtd
mailing list