Livio Tenze wrote:
> I am trying to use the yaffs filesystem on my MX21 (arm) board.
> The problem I have is that the MX21 processor provides a Nand Flash
> Controller (NFC) which cannot be disabled and it is involved in updating
> the ecc data on the spare are of the nand device.
...
> When I test the yaffs.o module and I try to write a file, I obtain the
> following messages:
> cp: cannot create regular file `/mnt/minicom.log': Cannot allocate memory
> and the nand device seems to be full.
>
> What is the problem? May you help me?
All blocks are probably being retired with ECC errors, and possibly
being marked as bad blocks due to byte reserved for that purposes being
overwritten. See /proc/yaffs.
The yaffs 512 byte page size filesystem hardcodes the SmartMedia Out Of
Band area layout, which will probably be incompatible with the layout
used by your H/W accelerator. Converting yaffs to use the mtd layer's
autoplace info could fix many of these situations. But for now, folks
hack the definitions of yaffs_guts.h: yaffs_Spare, yaffs_mtdif.c:
yaffs_oobinfo, and maybe yaffs_tagscompat.c: yaffs_VerifyCompare,
possibly the ECC calculation and comparison logic.
--
Todd