LWN.net Logo

JFFS2, UBIFS, and the growth of flash storage

JFFS2, UBIFS, and the growth of flash storage

Posted Dec 13, 2012 18:59 UTC (Thu) by wookey (subscriber, #5501)
Parent article: JFFS2, UBIFS, and the growth of flash storage

Nice article. It would have been interesting to include YAFFS in this comparison too as it too was also written to overcome some of the limitations of JFFS2 (with respect to NAND), starting few years before UBI. I know it never made it to mainline despite efforts to do that in 2010/2011 (http://linux.derkeiler.com/Mailing-Lists/Kernel/2011-01/m...), but it has been quite widely used, especially in early android releases, and is still is. The differences between it and JFFS2 and UBIFS are interesting. It is probably true that it offers no real advantages over UBI any more (unless you want to use it with not-linux), but it was fastest in the last set of benchmarks I saw a couple of years back.

The tale of its development, the mainlining attempt and why ultimately it failed, and its continued existence in its little niche, making a living for a couple of people, is interesting in itself.

Ultimately the problem was that the kernel people wouldn't take anything less than a rewrite to exclusively use standard kernel features, but the author, who still needed to support it on other OSes, wasn't prepared to remove the compatibility features that made that work. Nearly everything could be munged to satisfy both sides, but a few things were sticking pints. It didn't seem to be possible to reach agreement without forking the codebases and no-one really wanted to do that.


(Log in to post comments)

JFFS2, UBIFS, and the growth of flash storage

Posted Dec 14, 2012 17:13 UTC (Fri) by plougher (guest, #21620) [Link]

Your comment that "Yaffs continues in its little niche making a living for a couple of people" now helps me better understand why in the mainlining process there was such insistence on behalf of the author to keep the support for other OSes.

Dare I say it but the clear implication is Yaffs makes money but only on the other OSes, and the insistence by the "kernel people" to loose the other OS support was forcing a choice between mainlining it and not continuing to make a living, or making a living by keeping it out of mainline.

Strangely I cannot recall that point being made in the mainlining process? Was it made and I missed it, or was it felt inappropriate and unlikely to further the mainlining process? Either way, I now think the author make the "right choice" in not continuing to mainline it.

I like YAFFS and it was the first workable flash filesystem I used in ~ 2002 back at a time when JFFS2 was worse than useless. The fact YAFFS tends to get written out of Linux kernel history, and the abortive mainlining process doesn't tend to show the kernel community in much glory.

JFFS2, UBIFS, and the growth of flash storage

Posted Dec 14, 2012 18:25 UTC (Fri) by wookey (subscriber, #5501) [Link]

Yes, it has that strange business model where most users use it for free under the GPL, but some (largely the ones that actually pay money and make the business viable use) it in other contexts (bootloaders, proprietary OSes, in-house 'stuff'). GPL users sometimes pay for enhancements too, and it was GPL users that paid for most of the initial development.

Yes this wasn't really discussed as part of the mainlining - as it's not technical and thus not really very relevant. The point was made that the FS wasn't only used with Linux and keeping it working for the others (from a single, or at least very similar, codebase) was important.

It's not quite as black and white as a "a choice between mainlining it and not continuing to make a living", it was just that there was a point beyond which the advantages of mainlining (saving maintenance effort, wider exposure, making life a bit easier for linux users) were not sufficient to justify the disadvantages (extra maintenance effort due to divergence) from the author's POV. He decided he'd given it his best shot and been rebuffed. He's not a pushy guy.

It seems no-one else has cared enough to try again in the couple of years since then, probably at least partly because they don't feel they have the moral right to do that.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds