I’m using the yaffs2 file system in a device running a
TI DM ARM chip along with a 512 MB NAND chip. The Linux kernel version is
2.6.5, and the yaffs version 1.1.2.4,yaffs_fs and 11.2.1,yaffs_guts. The
problem we’re seeing is that yaffs2 is in some circumstances reporting a
used block as free. This seems to happen after either an unmount or
powerloss. The first yaffs2 warning is:
**>> yaffs chunk 144754 was not erased
**>> yaffs chunk 146432 was not erased
**>> yaffs chunk 146752 was not erased
**>> yaffs chunk 146880 was not erased
**>> yaffs chunk 147264 was not erased
**>> yaffs chunk 147648 was not erased
**>> yaffs write required 7 attempts
And, after enough time:
page 84227 in gc has no object
page 84228 in gc has no object
page 84229 in gc has no object
page 84230 in gc has no object
CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is set, and the
output of /proc/yaffs is as follows on a file system exhibiting the errors
described above.
YAFFS built:Apr 8 2010 15:21:02
$Id: yaffs_fs.c,v 1.1.2.4 2007-05-02 20:56:15 ddompe Exp $
$Id: yaffs_guts.c,v 1.1.2.1 2007-03-19 21:08:58 rgomez Exp $
Device 0 "ROOTFS"
startBlock......... 0
endBlock........... 287
chunkGroupBits..... 0
chunkGroupSize..... 1
nErasedBlocks...... 154
nTnodesCreated..... 800
nFreeTnodes........ 64
nObjectsCreated.... 900
nFreeObjects....... 74
nFreeChunks........ 11987
nPageWrites........ 0
nPageReads......... 0
nBlockErasures..... 0
nGCCopies.......... 0
garbageCollections. 0
passiveGCs......... 0
nRetriedWrites..... 0
nRetireBlocks...... 0
eccFixed........... 0
eccUnfixed......... 0
tagsEccFixed....... 0
tagsEccUnfixed..... 0
cacheHits.......... 0
nDeletedFiles...... 161
nUnlinkedFiles..... 4564
nBackgroudDeletions 0
useNANDECC......... 1
isYaffs2........... 1
Device 1 "VARFS"
startBlock......... 0
endBlock........... 79
chunkGroupBits..... 0
chunkGroupSize..... 1
nErasedBlocks...... 15
nTnodesCreated..... 200
nFreeTnodes........ 148
nObjectsCreated.... 300
nFreeObjects....... 140
nFreeChunks........ 4791
nPageWrites........ 0
nPageReads......... 0
nBlockErasures..... 47
nGCCopies.......... 114
garbageCollections. 47
passiveGCs......... 20
nRetriedWrites..... 0
nRetireBlocks...... 0
eccFixed........... 0
eccUnfixed......... 0
tagsEccFixed....... 0
tagsEccUnfixed..... 0
cacheHits.......... 15
nDeletedFiles...... 26
nUnlinkedFiles..... 79
nBackgroudDeletions 0
useNANDECC......... 1
isYaffs2........... 1
Device 2 "DATAFS"
startBlock......... 0
endBlock........... 3647
chunkGroupBits..... 0
chunkGroupSize..... 1
nErasedBlocks...... 5
nTnodesCreated..... 25700
nFreeTnodes........ 63
nObjectsCreated.... 13200
nFreeObjects....... 47
nFreeChunks........ 29545
nPageWrites........ 0
nPageReads......... 0
nBlockErasures..... 145
nGCCopies.......... 6414
garbageCollections. 140
passiveGCs......... 0
nRetriedWrites..... 6
nRetireBlocks...... 0
eccFixed........... 0
eccUnfixed......... 0
tagsEccFixed....... 0
tagsEccUnfixed..... 0
cacheHits.......... 0
nDeletedFiles...... 1702
nUnlinkedFiles..... 3490
nBackgroudDeletions 0
useNANDECC......... 1
isYaffs2........... 1
---------------------------------------------------------------------
CONFIDENTIALITY NOTICE: This e-mail and any attachments contain information from DriveCam, Inc., and are intended solely for the use of the named recipient(s). This e-mail may contain confidential information of DriveCam, Inc. and its customers. Any dissemination of this e-mail by anyone other than an intended recipient is strictly prohibited. If you are not a named recipient, you are prohibited from any further viewing of the e-mail or any attachments or from making any use of the e-mail or attachments. If you believe you have received this e-mail in error, notify the sender immediately and permanently delete the e-mail, any attachments, and all copies thereof from any drives or storage media and destroy any printouts of the e-mail or attachments.
This message has been content scanned for known viruses, spam, undesirable content and malicious code by the MailGate.
---------------------------------------------------------------------