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

John M Cavallo johnc at datadesigncorp.net
Thu Dec 22 18:58:45 GMT 2005


Yuri,

Before erasing all of the blocks, you should check the oob information.
You should be able to determine which were factory set and which
weren't.

John.

On Thu, 2005-12-22 at 08:48 -0800, Sergey Kubushyn wrote:
> 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.   *
> ******************************************************************
> 
> 
> _______________________________________________
> yaffs mailing list
> yaffs at stoneboat.aleph1.co.uk
> http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs




More information about the yaffs mailing list