linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jörn Engel" <joern@lazybastard.org>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	Dave Kleikamp <shaggy@linux.vnet.ibm.com>,
	David Chinner <dgc@sgi.com>
Subject: [PATCH 0/2] LogFS take two
Date: Mon, 7 May 2007 23:59:14 +0200	[thread overview]
Message-ID: <20070507215913.GA15054@lazybastard.org> (raw)

Motivation:

Linux currently has 1-2 flash filesystems to choose from, JFFS2 and
YAFFS.  The latter has never made a serious attempt of kernel
integration, which may disqualify it to some.

The two main problems of JFFS2 are memory consumption and mount time.
Unlike most filesystems, there is no tree structure of any sorts on
the medium, so the complete medium needs to be scanned at mount time
and a tree structure kept in-memory while the filesystem is mounted.
With bigger devices, both mount time and memory consumption increase
linearly.

JFFS2 has recently gained summary support, which helps reduce mount
time by a constant factor.  Linear scalability remains.  YAFFS also
appears to be better by a constant factor, yet still scales linearly.

LogFS has an on-medium tree, fairly similar to Ext2 in structure, so
mount times are O(1).  In absolute terms, the OLPC system has mount
times of ~3.3s for JFFS2 and ~60ms for LogFS.


Motivation 2:

Flash is becoming increasingly common in standard PC hardware.  Nearly
a dozen different manufacturers have announced Solid State Disks
(SSDs), the OLPC and the Intel Classmate no longer contain hard disks
and ASUS announced a flash-only Laptop series for regular consumers.
And that doesn't even mention the ubiquitous USB-Sticks, SD-Cards,
etc.

Flash behaves significantly different to hard disks.  In order to use
flash, the current standard practice is to add an emulation layer and
an old-fashioned hard disk filesystem.  As can be expected, this is
eating up some of the benefits flash can offer over hard disks.

In principle it is possible to achieve better performance with a flash
filesystem than with the current emulated approach.  In practice our
current flash filesystems are not even near that theoretical goal.
LogFS in its current state is already closer.


Current state:

LogFS works and survives my testcases.  It has fairly good chances of
not eating your data during regular operation.  There are still two
known bugs that will eat data if the filesystem is uncleanly
unmounted.  Also still missing is wear leveling.

Handling of read/write/erase errors currently is BUG().  It is on my
list, no need to remind me. :)

Overall I consider this to be -mm material.  It would be good to get
some review and have the usual allyesconfig crowd build it and find
coverity bugs and the like.

http://logfs.org/logfs/ may have some further information.


Shameless plug:

I have quit my job last November to concentrate on LogFS.  While I
have found one sponsor kind enough to fund me, my monetary reserves
are fairly stressed.  Fairly soon I will be forced to take an
old-fashioned job again and work on other less exciting stuff.  So if
anyone needs a fast flash filesystem and has spare money to spend,
please contact me.

Jörn

-- 
Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2007-05-07 22:03 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-07 21:59 Jörn Engel [this message]
2007-05-07 22:00 ` [PATCH 1/2] LogFS proper Jörn Engel
2007-05-07 22:10   ` Jörn Engel
2007-05-07 22:11   ` Jörn Engel
2007-05-08  7:22   ` Thomas Gleixner
2007-05-08 12:46     ` Jan Engelhardt
2007-05-08 15:54       ` Thomas Gleixner
2007-05-08 16:17         ` Evgeniy Polyakov
2007-05-09 13:06           ` Jan Engelhardt
2007-05-08 16:32     ` Jörn Engel
2007-05-08 18:00       ` Thomas Gleixner
2007-05-08 20:25         ` Jörn Engel
2007-05-08 20:58           ` Thomas Gleixner
2007-05-08 21:30             ` Jörn Engel
2007-05-08 19:15       ` Pekka Enberg
2007-05-08 20:58         ` Jörn Engel
2007-05-08 22:52           ` Greg KH
2007-05-08 23:10             ` Jörn Engel
2007-05-09  0:01               ` Greg KH
2007-05-09 10:24                 ` Jörn Engel
2007-05-08 22:44     ` Ingo Oeser
2007-05-08 23:05       ` Jörn Engel
2007-05-07 22:01 ` [PATCH 2/2] introduce I_SYNC Jörn Engel
2007-05-08  7:23   ` Thomas Gleixner
2007-05-08 12:00     ` Jörn Engel
2007-05-08  7:39 ` [PATCH 0/2] LogFS take two Thomas Gleixner
2007-05-08 11:41   ` Jörn Engel
  -- strict thread matches above, loose matches on Subject: below --
2007-05-08  5:53 Albert Cahalan
2007-05-08 22:06 ` Jörn Engel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070507215913.GA15054@lazybastard.org \
    --to=joern@lazybastard.org \
    --cc=akpm@osdl.org \
    --cc=dgc@sgi.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shaggy@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).