[Yaffs] Re: Re: Re: Re: can't see files after umount

Sergey Kubushyn ksi at koi8.net
Thu Dec 22 16:48:08 GMT 2005


On Thu, 22 Dec 2005 yuri.golovach at mindspeed.com wrote:

When experimenting with unpatched CVS YAFFS you have written something to
the first two bytes of OOB area so now the beginning of your NAND shows up
as a bunch of bad blocks. That's why you don't have much free space on those
partitions.

Now what you have to do is to build a kernel with MTD ignoring bad blocks
and erase them all. That will also erase factory marked bad blocks but this
is not the end of the world; they will be marked as bad later when they fail
ECC check if they are really bad.

> Here is the information, which was asked. I hope it will help. Please,
> let
> me know if you need any other debug info.
>
>
> 1) the beginning text from MTD boot screen which should depict the bad
> block markers that have been detected
> (MTD Debug was turned on)
>
> Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
> Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
> Memory: 47MB = 47MB total
> Memory: 45584KB available (1573K code, 375K data, 80K init)
> Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
> CPU: Testing write buffer coherency: ok
> NET: Registered protocol family 16
> NetWinder Floating Point Emulator V0.97 (double precision)
> devfs: 2004-01-31 Richard Gooch (rgooch at atnf.csiro.au)
> devfs: boot_options: 0x0
> yaffs Dec 22 2005 15:54:34 Installing.
> Serial: M825xx1 driver $Revision: 1.1.2.1.2.1 $
> ttyS0 at MMIO 0x10090000 (irq = 41) is a M825xx1
> io scheduler noop registered
> loop: loaded (max 8 devices)
> nbd: registered device at major 43
> smi_memory_phy = a10000
> Phy->storage: 0xcce4a0
> Virt->storage: 0xf0cce4a0
> NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB
> 3,3V 8-bit)
> Scanning device for bad blocks
> Bad eraseblock 0 at 0x00000000
> Bad eraseblock 32 at 0x00400000
> Bad eraseblock 33 at 0x00420000
> Bad eraseblock 34 at 0x00440000
> Bad eraseblock 35 at 0x00460000
> ............
> long list
> ............
> Bad eraseblock 435 at 0x03660000
> Bad eraseblock 437 at 0x036a0000
> Creating 4 MTD partitions on "NAND 128MiB 3,3V 8-bit":
> 0x00000000-0x00200000 : "MSP boot partition"
> mtd: Giving out device 0 to MSP boot partition
> 0x00200000-0x00400000 : "Linux boot partition"
> mtd: Giving out device 1 to Linux boot partition
> 0x00400000-0x03600000 : "Comcerto Filesystem partition"
> mtd: Giving out device 2 to Comcerto Filesystem partition
> 0x03600000-0x06800000 : "Comcerto Filesystem partition2"
> mtd: Giving out device 3 to Comcerto Filesystem partition2
>
>
> 2) the result of mounting yaffs partiton.
> #
> # mount -t yaffs2 /dev/mtdblock3 /mnt/y
> yaffs: dev is 32505859 name is "mtdblock3"
> yaffs: Attempting MTD mount on 31.3, "mtdblock3"
> block 1 is bad
> block 2 is bad
> block 3 is bad
> block 4 is bad
> block 6 is bad
> nand_read_ecc: Failed ECC read, page 0x00006d01
> nand_read_ecc: Failed ECC read, page 0x00006d01
> #
>
> 2.5) some more info about the copy results
> #
> # rm /mnt/y/*
> rm: cannot remove `/mnt/y/lost+found': Is a directory
> #
> # cp mytest /mnt/y
> #
> # cp mkyaffs2 /mnt/y
> #
> # cp nandwrite /mnt/y
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> !!!!!!!!
> #
> # ls -l /mnt/y
> total 62
> drw-rw-rw-  1 root root  2048 Jan  1 00:03 lost+found
> -rwxr-xr-x  1 root root 10765 Jan  1 00:08 mkyaffs2
> -rw-r--r--  1 root root  8240 Jan  1 00:08 mytest
> -rwxr-xr-x  1 root root 40724 Jan  1 00:09 nandwrite
> #
> # cp yaffs2small.img /mnt/y
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> ....
> lot of messages
> ....
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> cp: writing `/mnt/y/yaffs2small.img': Operation not permitted
> yaffs tragedy: no more eraased blocks
> !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
> #
> # ls -l /mnt/y
> total 272
> drw-rw-rw-  1 root root   2048 Jan  1 00:03 lost+found
> -rwxr-xr-x  1 root root  10765 Jan  1 00:08 mkyaffs2
> -rw-r--r--  1 root root   8240 Jan  1 00:08 mytest
> -rwxr-xr-x  1 root root  40724 Jan  1 00:09 nandwrite
> -rw-r--r--  1 root root 215040 Jan  1 00:13 yaffs2small.img
> #
>
>
>
>
> 3) the output of /proc/yaffs file
> # vi /prov/yaffs
> YAFFS built:Dec 22 2005 15:54:34
> $Id: yaffs_fs.c,v 1.38 2005/12/15 20:27:56 charles Exp $
> $Id: yaffs_guts.c,v 1.25 2005/12/08 00:51:15 charles Exp $
>
> Device 0 "Comcerto Filesystem partition"
> startBlock......... 0
> endBlock........... 399
> chunkGroupBits..... 0
> chunkGroupSize..... 1
> nErasedBlocks...... 0
> nTnodesCreated..... 0
> nFreeTnodes........ 0
> nObjectsCreated.... 100
> nFreeObjects....... 96
> nFreeChunks........ 0
> 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........... 1
>
> Device 1 "Comcerto Filesystem partition2"
> startBlock......... 0
> endBlock........... 399
> chunkGroupBits..... 0
> chunkGroupSize..... 1
> nErasedBlocks...... 0
> nTnodesCreated..... 100
> nFreeTnodes........ 90
> nObjectsCreated.... 100
> nFreeObjects....... 89
> nFreeChunks........ 25194
> nPageWrites........ 0
> nPageReads......... 0
> nBlockErasures..... 8
> nGCCopies.......... 493
> garbageCollections. 8
> passiveGCs......... 0
> nRetriedWrites..... 0
> nRetireBlocks...... 0
> eccFixed........... 0
> eccUnfixed......... 0
> tagsEccFixed....... 0
> tagsEccUnfixed..... 0
> cacheHits.......... 0
> nDeletedFiles...... 2
> nUnlinkedFiles..... 4
> nBackgroudDeletions 0
> B
> useNANDECC......... 1
> iBsYaffs2........... 1
>
> Thank you,
>         Yuri Golovach
>

---
******************************************************************
*  KSI at home    KOI8 Net  < >  The impossible we do immediately.  *
*  Las Vegas   NV, USA   < >  Miracles require 24-hour notice.   *
******************************************************************




More information about the yaffs mailing list