Hello, I got similar problems after upgrade to current yaffs version from CVS. Following patch fixed my problem: Index: yaffs_guts.c =================================================================== --- yaffs_guts.c (revision 5760) +++ yaffs_guts.c (working copy) @@ -409,6 +409,8 @@ /* First check this chunk is erased... */ #ifndef CONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK writeOk = yaffs_CheckChunkErased(dev, chunk); +#else + writeOk = 1; #endif if (!writeOk) { T(YAFFS_TRACE_ERROR, Best regards Artis On Tuesday 28 February 2006 11:35, Fan Lvu wrote: > Hello All > I am using ARM(S3C2410) machine with 2.4.18 kernel, yaffs and mtd. I have > 2 partitions to store data, At first, allthings was all right, but the > bad blocks number had grown incrumently. After 2 or 3 month past, one of > my partition is full and on more available space left. > > > [root /data0]#df > Filesystem 1k-blocks Used Available Use% Mounted on > /dev/mtdblock/4 2032 1836 196 90% /home > /dev/mtdblock/5 5104 5104 0 100% /data0 > /dev/mtdblock/6 5104 1928 3176 38% /data1 > > The total size of all files in direcorty data0 is not more than > 4.0Mbytes. And some blocks of this partition is marked bad. > [root /data0]#more /proc/kmsg > ... > <7>block 228 is bad > <7>block 234 is bad > <7>block 235 is bad > <7>block 236 is bad > <7>block 249 is bad > <7>block 250 is bad > <7>block 251 is bad > <7>block 252 is bad > <7>block 256 is bad > <7>block 258 is bad > <7>block 259 is bad > <7>block 261 is bad > <7>block 263 is bad > <7>block 264 is bad > <7>block 266 is bad > <7>block 268 is bad > <7>block 270 is bad > <7>block 272 is bad > <7>block 274 is bad > <7>block 276 is bad > <7>block 279 is bad > --More-- > .... > .... > > My yaffs configuration is here. > [root /data0]#more /proc/yaffs > YAFFS built:Oct 16 2003 09:25:52 > $Id: yaffs_fs.c,v 1.26 2003/05/20 23:20:53 charles Exp $ > $Id: yaffs_guts.c,v 1.26 2003/05/20 23:20:53 charles Exp $ > > Device yaffs > startBlock......... 1 > endBlock........... 319 > chunkGroupBits..... 0 > chunkGroupSize..... 1 > nErasedBlocks...... 187 > nTnodesCreated..... 200 > nFreeTnodes........ 67 > nObjectsCreated.... 100 > nFreeObjects....... 66 > nFreeChunks........ 6483 > nPageWrites........ 3294 > nPageReads......... 5155 > nBlockErasures..... 51 > nGCCopies.......... 77 > garbageCollections. 51 > passiveGCs......... 51 > nRetriedWrites..... 0 > nRetireBlocks...... 0 > eccFixed........... 0 > eccUnfixed......... 0 > tagsEccFixed....... 0 > tagsEccUnfixed..... 191 > cacheHits.......... 0 > nDeletedFiles...... 18 > nUnlinkedFiles..... 18 > nBackgroudDeletions 0 > useNANDECC......... 1 > > > I can regain the bad blocks by using the low level flash utility. I use > "vivi" to boot my machine, and the "vivi" has a function to format the > flash. > I wonder why this happens and how to solve this problem. > > Best regards > Fanlvu