This is a historic thing.
USE_GENERIC_RW uses the Linux page cache for read/write. This means that the Linux generic_read and generic_write functions are used which and YAFFS supplies the read_page write_page calls.
Not defining USE_GENERIC_RW directly implements read/write without using the page cache.
The direct read/write stuff was iimplemented first, and I followed it by generic read/write when memory mapping was implemented. During the transition both options worked. Things have now moved on and not defining USE_GENERIC_RW is broken, with no real motivation to fix it.
Ie. You should always define USE_GENERIC_RW.
This comes up every couple of months on the list. I guess I should pull it out.
-- Charles
-----Original Message-----
From:
yaffs-admin@stoneboat.aleph1.co.uk [
mailto:yaffs-admin@stoneboat.aleph1.co.uk] On Behalf Of Ulla
Sent: Thursday, 14 October 2004 11:40 a.m.
To:
yaffs@stoneboat.aleph1.co.uk
Subject: [Yaffs] CONFIG_YAFFS_USE_GENERIC_RW
Hi,
I am using yaffs (CVS) (linux 2.6.8.1, mtd-snapshot: 20041005), and I am able
to mount the device properly, to write to the flash and erase from the flash.
But with CONFIG_YAFFS_USE_GENERIC_RW disabled copying back (or cat) doesn't
work, it is running in an endless loop. For example, catting a simple text
file will endlessly repeat the contents of that file. Copying a file will
not end & create a huge file at the destination. By enabling
CONFIG_YAFFS_USE_GENERIC_RW everything is ok. Can someone explain what are
the benefits of disabling CONFIG_YAFFS_USE_GENERIC_RW (like it is in the
default Makefile) and what are the exact differences between generic_rw and
yaffs_rw?
Thanks a lot
Ulla
--
Bluewater Systems Ltd - ARM Technology Solution Centre
Ulrike Eisenmann Bluewater Systems Ltd
Phone: +64 3 3779127 (Aus +1 800 148 751) Level 17, 119 Armagh St
Fax: +64 3 3779135 PO Box 13889
Email:
ulla@bluewatersys.com Christchurch
Web:
http://www.bluewatersys.com New Zealand
_______________________________________________
yaffs mailing list
yaffs@stoneboat.aleph1.co.uk http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs