[Yaffs-archive] Re: YAFFS - O_APPEND support -> improved NAND layer, generic_file_xxx

Charles Manning manningc2@actrix.gen.nz
Sat, 17 Aug 2002 16:32:06 +1200


Luc

I hope you don't mind me replying in the yaffs list. I like to resopond to as 
wide an audience as possible.

Thank you for your vote of confidence in YAFFS. I think it will be well 
rewarded.

The main reason I used yaffs_file_read and yaffs_file_write instead of 
generic_xxx was that I was unsure what the impact would be for writing pages 
rather than straight writes. This will perhaps have an impact on:
* robustness (ie. does something get lost due to caching?).
* page size (unsure if using the cache will force 4k page writes which cause 
garbage collection faster).

There is already a page read function, (required to support execution of a 
file off yaffs), so generic_file_read is just a one-liner.

generic_file_write is a little more effort since it requires a two-step write 
(allocate, then write).

I guess the best is to support both yaffs_file_write and generic_file_write 
and make them a compile option.

The way I see it, the nand mtd layer is really designed to support JFFS2 by 
dressing the NAND up to look like NOR (well sort of), but might not the best 
for YAFFS.  Unfortunately I don't have any NAND hardware running Linux to 
give useful testing. Maybe I should fire up Linux on the WinCE StrongARM test 
board I have.  Basically it seem you are proposing a stripped down mtd NAND 
layer that supports more YAFFS-friendly functions. I will be interested to 
see what results you get. I believe Thomas Gleixner will be starting to 
monitor the YAFFS list soon and may have some useful input too.

Thanx

-- CHarles


> Charles,
>
> I'am half in holiday/half busy until tuesday, with no access to my current
> code and test platform.
> But be sure to have news from be after that.
>
> I'am sure that you will be interested to know that YAFFS will certainly be
> choosen as the FS for the project on which I work currently (embedded, ARM,
> Linux 2.4 and bare NAND with HW ECC, GPLed), based on simplicity/code
> size/performance and NAND adequacy.
>
> For the moment what annoy me is the MTD layer that doesn't offer a good
> interface for NAND and page access. Next week, I will probably write a
> small MTD-like block device that fit better to NAND access (only page
> access with HW ECC).
> In a second time, I will investigate the possiblity to use
> generic_file_read() and maybe generic_file_write() so we can profit from
> the disk cache.
>
> Best regards
>
> Luc Van Oosternyck
>


---------------------------------------------------------------------------------------
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.