[Yaffs] Writing a single file marks entire device as bad

Charles Manning manningc2 at actrix.gen.nz
Wed Jul 20 19:34:26 BST 2005


On Thursday 21 July 2005 02:04, Martin Egholm Nielsen wrote:
> Hi there,
>
> I've been trying to patch my 2.4.20 kernel with the YAFFS source from CVS.
> I've got it up and spinning - sort of! :-)
> I can do "mkyaffs" on my device. I can mount the device "mount -t yaffs"
> without any complains.
> If I touch a (non-existing) "file" it's being created (size 0). However,
> the kernel says:
>
> **>>ecc error fix performed on chunk 0:0
> **>>ecc error unfixed on chunk 0:1
> **>>Block 1 marked for retirement

>
> If I try to write any data to the device - e.g. "echo bah > someFile", I
> get the following million messages:
>
> === 8< 8< 8< ===
> **>> yaffs chunk 65373 was not erased
> **>> yaffs chunk 65374 was not erased
> **>> yaffs chunk 65375 was not erased
> **>> Block 2042 retired
> **>> yaffs write required 64862 attempts
>
> and the entire device is marked bad.


This is almost 100% guaranteed an ECC clash between mtd ecc checking and YAFFS 
ecc checking.

>
> My mtd-kernel-source is from CVS-2005-03-04...

> I'm suspecting the ecc/oob management, but have no clue to how to
> disable it?!
> The yaffs-rootfs-howto states that this is "fixed" in the latest mtd
> cvs, but the document has no date, so it's difficult to say what
> "latest" means ;-)

The most important thing to do here is to turn off ECC in either YAFFS or mtd.

I would suggest searching the list archives for responses by Nick Bane on this 
matter,

-- Charles



More information about the yaffs mailing list