Author: Boris Deschenes Date: To: yaffs Subject: [Yaffs] yaffs corruption.. almost gone
Hi guys,
I made progress today, now I'm at the point where yaffs could be used as a
boot RO filesystem. I can mount it, write to it (I'll get yaffs chunk not
erased messages but the files are good even after remounting). But I have
to mount read-only otherwise all hell breaks loose.
I enabled tracing and I think I see what's wrong...
(to enable trace, "echo all > /proc/yaffs")
During the mount process, everything is clean, for each block I have the
following:
[4294767.300000] Block scanning block 62 state 3 seq 0
[4294767.305000] Block empty
[4294767.308000] nandmtd2_QueryNANDBlock 62
[4294767.312000] nandmtd2_ReadChunkWithTagsFromNAND chunk 3968 data 00000000
tags 810e3b78
[4294763.971000] ext.tags eccres 0 blkbad 0 chused 1 obj 261 chunk0 byte 0
del 0 ser 1 seq 4097
I'm not sure about the "packed tags" line, are these values valid?
(268435717 and -2147483647) Is it because the tags are packed? Because the
ext.tags line looks ok? Can anyone confirm?
[4294950.270000] ext.tags eccres 0 blkbad 268497208 chused -2129276928 obj 2
chunk1 byte 2048 del 0 ser -2129473536 seq 33
[4294950.284000] checkpoint byte count 1304
[4294950.288000] save exit: isCheckpointed 1
As you see here, even the ext.tags line has blkbad, chused and ser values
all messed up. Could someone confirm that I should be seeing *normal*
values here.