Re: JFFS2: file contents in case of data CRC error

llandre
2008-02-01T14:01:11Z

Alexey, Matt and Jamie,

thank you all for the precious information.

> Could you please give information about how you can get this error? I
> need to know use case.
The issue has been reported by a customer working on PPC405EP-based
system running linux 2.4.20.
The device under test has run a temperature cycle test. The temperature
has been varied in the whole industrial range (-40/+85 deg C). After
completing the test, the files stored on NAND have been read back and
compared to the original ones - written on NAND before starting the
temperature test - and the difference in the file f.img previously
described arose.

>> to NAND. In fact, in the middle of the file, I see a 4-kByte "hole"
>> where all bytes are 0.
>
> It is Ok. NAND error correction could return that data is correct even
> if it is not correct. It finds the issues with guarantee only in case of
> 1 or 2 bits errors.
About this point I agree with catboat
(http://article.gmane.org/gmane.linux.drivers.mtd/19463). In my opinion
in this case JFFS2 should report an error code != 0 in order to warn the
userland that something did not work perfectly.

>> bash-2.05# mount -t jffs2 -o ro /dev/mtdblock0 /mnt/nand0
>> mtdblock_open
>> ok
>> bash-2.05# cp -v /mnt/nand0/f.img /tmp/
>> jffs2_get_inode_nodes(): Data CRC failed on node at 0x01d55544: Read
>> 0x80b8997f, calculated 0x57f0ea8e
>> `/mnt/nand0/f.img' -> `/tmp/f.img'
>
> This is a bad error! How obtained you this? What you did before getting
> this?
See previous description.

--