[Yaffs-archive] YAFFS checkin & update

Charles Manning manningc2@actrix.gen.nz
Tue, 13 Aug 2002 12:34:38 +1200


Hi yaffsers

It must be getting to spring in New Zealand. Our Romney ewe birthed twins 
last night. Everyone doing well.

On the third attempt I finally got my internet connection good enough to get 
CVS going. I have checked in the following:
Bug fixes:
* Changes to fix some bugs that were causing incorrect data look-up in the 
file lookup trees.
* Improved scanning (previous scanner seemed to get some stuff wrong).
* Some general clean-up.

Enhancements:
* Changes to improve reporting of ecc failures.
* Add support for special files (pipes, devices). Critical for use as a root 
fs.
* Added utility called mkyaffsimage. This will build a yaffs image from a 
directory tree on the host. Useful for building root file systems.

Over the last wee while I have ported YAFFS to run uder WinCE. The guts only 
required minor tweaks to make this happen. Most of the work was in the FSD 
layer (the part that hooks up to the file system manager). If this project 
comes to fruition (which I expect), then all the related code will GPLed. The 
bootloader (which does not use the core yaffs code) will be LGPLed - which I 
believe makes it easier to integrate. Stephen Hill (the author of nand_ecc.c 
- the only code I use in the bootloader) has agreed to licensing changes to 
support this effort.

I can no longer reproduce the "directory problem" with the code as checked 
in. Nick, can you plz have a go and tell me what you see. Thanx.

Having now done 3 WinCE platformn implementations I have a good reason to 
hate WinCE. I do get a good feeling being able to use my time in a way that 
aids YAFFS. This effort has assisted in flushing out some bugs and has 
provided some ideas for future improvements. 

YAFFS runs sweetly on the WinCE device. Boots no faster that the FAT-based 
stuff (due to the scanning overhead at start up). However once running, YAFFS 
goes like a cut cat. 1MB/s write speed with no obvious slowdowns due to 
garbage collection. 

I ran the some file stress tests over the weekend on a 128MB NAND array (2x64 
Samsung parts) + StrongARM + WInCE. 25GB wriiten, verified thrice, then 
deleted. No performance degradation observed. Not one bit corrupted.

A second unit has had its NAND badly mauled - including having its bad block 
markers erased. This ran YAFFS quite well, though some data was corrupted due 
to "write disturb". This clearly underlines the importance of not erasing the 
bad block info.


Enjoy.

Feedback more than welcome.

-- Charles


---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by 
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" 
(without the quotes) as the subject.