mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tomasz Chmielewski <mangoo@wpkg.org>
To: Artem Bityutskiy <dedekind@yandex.ru>
Cc: LKML <linux-kernel@vger.kernel.org>,
	penberg@cs.helsinki.fi, "Jörn Engel" <joern@logfs.org>,
	ext-adrian.hunter@nokia.com, jwboyer@gmail.com
Subject: Re: UBIFS vs Logfs (was [RFC PATCH] UBIFS - new flash file system)
Date: Tue, 01 Apr 2008 11:39:37 +0200	[thread overview]
Message-ID: <47F202D9.20405@wpkg.org> (raw)
In-Reply-To: <47F1F644.4060000@yandex.ru>

Artem Bityutskiy schrieb:

> Tomasz Chmielewski wrote:
>> For me, the motivators to wait for LogFS are mainly the facts that it
>> can work on traditional block devices, and not only on pure flash:
> 
> Sorry Thomasz, for me this makes zero sense. There are _much_ better file
> systems for block devices.

Such as?
Flash (also on block devices) is slow and expensive (when compared to 
modern hard disks) and therefore compression is *very* useful here.
Not only it can potentially save you money; reads and writes will be 
smaller/faster (unless you're editing music and videos, where one won't 
use flash anyway), flash will wear out slower etc.

Is there a filesystem for Linux which can provide transparent 
compression and works for block devices (other than user-space NTFS or 
some outdated ext2 patches)? I don't think so.


> UBIFS may work on top of a block device as
> well (just needs few hacks to make it possible) - it is not a problem
> at all, it is just _senseless_.

Do you mean using hacks like block2mtd? It's hacky, and pretty hard to 
boot a system this way (need to build own initramfs, with a static 
block2mtd or loads of libraries - not something an average user would 
like to do; no distro supports it; updating a kernel would be a pain etc.).


> JFFS2/UBIFS/LogFS is a separate _class_ of file-systems. The are designed
> for _flash_, which has completely different work model then block device.
> They are _native_ flash file systems.
> Here are more details: 
> http://www.linux-mtd.infradead.org/faq/general.html#L_mtd_vs_hdd

It's a good comparison, but it doesn't show disadvantages of using 
traditional filesystems on flash-based block devices.

I just mentioned the reasons why a filesystem like LogFS would be useful 
on block devices: there are valid reasons to do it.


(...)

> The whole _point_ of this separate class of FSes is because we believe
> we may do much _better_ job if we use flash _natively_, instead of using
> FTL. FTL is the place where you loose performance, reliability, and so on.

True.
Unfortunately, there is no way to access flash directly on flash-based 
block devices (USB-sticks, IDE-flash disks, SSD disks etc.).

Therefore, could an answer be: use a traditional filesystem?

Unfortunately, traditional filesystems were rather designed for rotating 
media / cheap disks (no transparent compression; tend to accumulate 
writes in one area of the disk - more on that - below).


> And you are saying about using a native flash FS on top of a block device
> like an SD card. This is just not sane: SD card first emulates a block 
> device
> for you, looses performance at this point, then you again emulate a flash
> on top of this, and suffer from this again.

Performance is only one factor in the equation. Other factors are: cost 
and reliability.

I speak from experience: flash-based block devices tend to have poor 
wear-levelling (at least Transcend IDE-flash disks).
To reproduce:
- format a 2 GB Transcend IDE-flash disk with ext3
- write a small file (50-100 kB)
- update that file ~several hundred thousand times - as you finish, 
IDE-flash disk will have 200-300 badblocks

If wear-levelling on the underlying IDE-flash device was any decent, 
writes would be spread on the whole ~2GB surface, totalling in many more 
successful writes.


Again: this is my experience, although it may contradict the theory 
underlined in the link you gave earlier.
You have much more experience with flash file systems: correct me where 
I'm wrong.


-- 
Tomasz Chmielewski
http://wpkg.org


  parent reply	other threads:[~2008-04-01  9:40 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-01  8:02 Tomasz Chmielewski
2008-04-01  8:45 ` Artem Bityutskiy
2008-04-01  9:03   ` Jörn Engel
2008-04-01  9:09     ` Artem Bityutskiy
2008-04-01  9:31       ` Jörn Engel
2008-04-01  9:39   ` Tomasz Chmielewski [this message]
2008-04-01  9:57     ` Artem Bityutskiy
2008-04-02 14:17       ` Tomasz Chmielewski
2008-04-02 14:22         ` Jörn Engel
2008-04-01 11:06   ` Andi Kleen
2008-04-01 11:23     ` Artem Bityutskiy
2008-04-01 16:27       ` H. Peter Anvin
2008-04-01 21:26         ` Willy Tarreau
2008-04-02  4:47           ` Artem Bityutskiy
2008-04-02  6:25             ` Willy Tarreau
2008-04-02  7:17               ` Artem Bityutskiy
2008-04-09 21:09 ` Pavel Machek
2008-04-09 21:32   ` Jörn Engel
  -- strict thread matches above, loose matches on Subject: below --
2008-03-27 14:55 [RFC PATCH] UBIFS - new flash file system Artem Bityutskiy
2008-03-31 12:29 ` Jan Engelhardt
2008-03-31 12:47   ` Adrian Hunter
2008-03-31 13:20     ` Jörn Engel
2008-04-01  5:26       ` UBIFS vs Logfs (was [RFC PATCH] UBIFS - new flash file system) Artem Bityutskiy
2008-04-01  5:28         ` Artem Bityutskiy
2008-04-01  5:56         ` Artem Bityutskiy
2008-04-01  9:25           ` Jörn Engel
2008-04-01  9:39             ` Artem Bityutskiy
2008-04-01 10:51               ` Jörn Engel
2008-04-01 11:17                 ` Artem Bityutskiy
2008-04-01  9:19         ` Jörn Engel
2008-04-01  9:46           ` Artem Bityutskiy
2008-04-01 11:16             ` 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=47F202D9.20405@wpkg.org \
    --to=mangoo@wpkg.org \
    --cc=dedekind@yandex.ru \
    --cc=ext-adrian.hunter@nokia.com \
    --cc=joern@logfs.org \
    --cc=jwboyer@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penberg@cs.helsinki.fi \
    /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

Powered by JetHome