[Yaffs] Sorry state of YAFFS (YAFFS2 now), patches

Sergey Kubushyn ksi at koi8.net
Wed Oct 12 17:57:40 BST 2005


Hello everybody...

I'm sorry to rain on your parade, but I can't understand if you are really
talking seriously about performance, speed etc. or just playing some kind of
a game like small children pretending being a doctor, firefighter etc...

This time it's about YAFFS2 on large page devices. I've got it up and
somehow running on ST Micro NAND01G-B.

The problem is I'm probably the only one who ever tried to use YAFFS2 at
all despite a number of people claiming to do so and discussing features and
other stuff. YAFFS2 source from CVS _NEVER_ worked as it is !!! One more
time - it NEVER worked and does NOT work now. And this is not because of a
bug (that is full of as a stray dog) but because of clear misunderstanding
and "khaltura." I'm pretty sure nobody tested it at all, ever.

Guys, nand_read_oob() (and write too) _NEVER_ read (write) oobavail part, it
has _ALWAYS_ been working with _RAW_ oob data !!! That is from as far back
as I can see until today. Your mtdif2.c file used to read the oob and pack
tags from it starting with bad block indicator and following reserved byte
since version 1.0 and it still does that in the latest version. That means
YAFFS2 _NEVER, EVER_ worked at all.

I do not understand also why you constantly point your finger to MTD. MTD
layer is fine, it works exactly as it supposed (and documented) to and it
provides everything required for a filesystem to operate. It is NOT supposed
to have some YAFFS-specific API, YAFFS is not the Earth's navel, there are
others. And those others work just fine with what we got from MTD layer. MTD
is just a low-level interface and an FS _MUST_ operate with what it
provides. That all constant "fix your MTD" and complaining about MTD layer
makes me recalling the old russian proverb about a bad dancer...

Next two messages contain very small patches that make YAFFS2 really work
and usable as a root FS (i.e. Linux kernel IS able to mount root FS from
YAFFS2 on a large page NAND.) Please make sure they are applied (or used as
a base for a fix). Those two small patches are absolutely required for
YAFFS2 to work at all, it's trash without them.

P.S. It doesn't mean the YAFFS2 is ready for a production use after those
     patches applied. It's still has more bugs than a stray dog, function
     returns ignored, sizes wrong, v.1 and v.2 intermixed, etc... It is
     still "write-once" FS 'coz removed file space is NOT reclaimed and is
     irrevocably lost after umnount, /proc interface is a horrible mix of
     YAFFS1/YAFFS2 etc. But at least it works somehow.

P.P.S. I'm eagerly waiting for JFFS3 release. I would've never used
       unmaintained, buggy, incomplete YAFFS if ANY alternative NAND flash
       FS had existed...

---
******************************************************************
*  KSI at home    KOI8 Net  < >  The impossible we do immediately.  *
*  Las Vegas   NV, USA   < >  Miracles require 24-hour notice.   *
******************************************************************




More information about the yaffs mailing list