[Yaffs] linux-2.6.13-rc6 and cvs yaffs

Charles Manning manningc2 at actrix.gen.nz
Thu Aug 25 22:27:03 BST 2005


On Thursday 25 August 2005 21:15, Manav Gautam wrote:
> Dear All,
>              I have a build with the cvs version of yaffs1/yaffs2
> integrated. I can successfully mount the partition and copy
> large/small files to the chip without any problems. The issue is that
> all the data is lost when i umount and remount it .  I have tried this
> with different kernel versions , frank's yaffs patch , balloon
> kernels, cvs yaffs but the issue remains the same. Below is a detailed
> log

You should not need to apply any of Frank's patches. THey shuld all be taken 
care of in the existing CVS.

Which version of mtd are you using? It is normally better to pull the latest 
from CVS.

Have you tried the yaffs1 cvs tree? This might (but should not) perform 
differently.


> My .config is
> CONFIG_YAFFS_FS=y
> CONFIG_YAFFS_YAFFS1=y
> CONFIG_YAFFS_DOES_ECC=n
> CONFIG_YAFFS_ECC_WRONG_ORDER=y
> CONFIG_YAFFS_YAFFS2=y (* Had to enable this else it compilation cracks up)
> CONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK=y
Suggest leave the chunk erased check enabled (ie. set this config disabled).
> CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y

<snip>


> $Id: yaffs_guts.c,v 1.18 2005/08/16 02:28:04 charles Exp $
>
> Device 0 "Filesystem on nand"
> startBlock......... 0
> endBlock........... 4095
> chunkGroupBits..... 2
> chunkGroupSize..... 4
> nErasedBlocks...... 1535
> nTnodesCreated..... 0
> nFreeTnodes........ 0
> nObjectsCreated.... 100
> nFreeObjects....... 96
> nFreeChunks........ 49120
> 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...... 0
> nUnlinkedFiles..... 0
> nBackgroudDeletions 0
> useNANDECC......... 1
> isYaffs2........... 0
>


> [root at Sarva 2.6.13]#cat /proc/yaffs
> YAFFS built:Aug 25 2005 09:02:20
> $Id: yaffs_fs.c,v 1.29 2005/08/11 01:07:43 marty Exp $
> $Id: yaffs_guts.c,v 1.18 2005/08/16 02:28:04 charles Exp $
>
> Device 0 "Filesystem on nand"
> startBlock......... 0
> endBlock........... 4095
> chunkGroupBits..... 2
> chunkGroupSize..... 4
> nErasedBlocks...... 1534
> nTnodesCreated..... 100
> nFreeTnodes........ 99
> nObjectsCreated.... 100
> nFreeObjects....... 95
> nFreeChunks........ 49104
> nPageWrites........ 18
> nPageReads......... 1
> nBlockErasures..... 0
> nGCCopies.......... 0
> garbageCollections. 0
> passiveGCs......... 0
> nRetriedWrites..... 0
> nRetireBlocks...... 0
> eccFixed........... 0
> eccUnfixed......... 0
> tagsEccFixed....... 0
> tagsEccUnfixed..... 0
> cacheHits.......... 0
> nDeletedFiles...... 0
> nUnlinkedFiles..... 0
> nBackgroudDeletions 0
> useNANDECC......... 1
> isYaffs2........... 0
Since the nErasedBlocks went down and the nFreeChunks went down, this means 
yaffs did write something to NAND.

What is curious to me is that you have a file system of 4096 blocks, with 1534 
free yet the fs looks empty. Have you looked in lost+found?

Did you erase the flash first? 

-- Charles



More information about the yaffs mailing list