Hi,
I am running Linux-2.6.19-rc6, with the latest CVS version of yaffs2
installed, patched with Vitaly's yaffs2-fixups.patch, and with MTD
upgraded to the latest git version.
The system is running on a custom AT91RM9200-based board, with a 64MiB
Samsung K9F1208U0M NAND flash chip (512 page/ 16k erase).
When I first booted the system and tried to mount a freshly-erased 58MiB
partition, it took almost 2 minutes to mount, with no errors displayed.
I set various trace settings and found that setting YAFFS_TRACE_ERASE
results in a large number of messages of the form:
yaffs_BlockBecameDirty block NNNN state 5
Block NNNN erasure supposedly OK, but chunk 0 not erased
Block NNNN erasure supposedly OK, but chunk 1 not erased
Block NNNN erasure supposedly OK, but chunk 2 not erased
Block NNNN erasure supposedly OK, but chunk 3 not erased
.
.
.
Block NNNN erasure supposedly OK, but chunk 30 not erased
Block NNNN erasure supposedly OK, but chunk 31 not erased
This sequence repeats from Block 2 though to the last block.
The attached file shows a trace of the Linux boot messages, a dump of
the first 8 pages before and after mounting, and and the start and end
of the error message sequence. I reduced the partition size to 1056k
because it took far too long for the mount to complete with the errors
being sent over the serial console link.
The only change in the OOB data after mounting is byte 13 changed from
0xff to 0xbf.
Any idea what causes these messages?
Is the condition that results in the error message responsible for the
long mount time?
Thanks,
../fam
--
Frank Mandarino fmandarino(a)endrelia.com
Endrelia Technologies Inc.
Toronto, Ontario, Canada