All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] read-only filesystem support for NAND flash devices
@ 2006-05-10  9:52 Vitaly Wool
  2006-05-10 11:00 ` Josh Boyer
  0 siblings, 1 reply; 17+ messages in thread
From: Vitaly Wool @ 2006-05-10  9:52 UTC (permalink / raw)
  To: Linux-MTD Mailing List

Hi folks,

there had recently been some talks around $Subject... and I'm personally 
interested in implementing that, both professionally and as an 
open-source guy :)

The problem, as most of you know well, is that currently existing 
compressed read-only filesystems don't support bad block handling. OTOH, 
it's quite an attractive idea to use those for root filesystem of an 
embedded device.
As a filesystem is read-only, wear-out can't occur during the normal 
use, only on root filesystem upgrade. Therefore writing it using a tool 
like nandwrite that bypasses bad blocks seems to be enough, and the only 
thing needed is either an in-MTD layer that makes a partition look as if 
there's no babd blocks, or  similar means within a filesystem.

The only known implementation goes the former way (though I recall some 
attempts for squashfs to implement the latter one). It's at 
http://lists.infradead.org/pipermail/linux-mtd/2004-May/009695.html.
The main drawbacks I see in the implementation are:
- adds more functions/vars to struct mtd_info which is apparently a bad 
idea (it's already overcomplicated)
- modifies a lot of generic files (i. e. CFI command set 
implementations, etc.)
- possibly exposed to FTL/NFTL patents

What I'd like to suggest is to rework this patch to get rid of these 
(and probably some more) drawbacks.
Ideas:
1. Implement it on top of NAND layer.
    - use NAND bad block table, but make its construction lazy in order 
to decrease boot time (might be a useful idea anyway)
    - use tree-like structure to calculate the offset between the block 
number supplied and the actual block to read (alternatively, just add 
the how-many-to-add info to BBT entries)
2. Implement it on top of MTD layer.
    - might be reasonable to use mtdblock_ro for that
    - might be reasonable to make bad block table global for all MTD 
devices, not for NAND only and, once again, add an option to construct 
it lazily.

Comments, corrections and suggestions are welcome.

Thx,
   Vitaly

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2006-05-13 14:08 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-05-10  9:52 [RFC] read-only filesystem support for NAND flash devices Vitaly Wool
2006-05-10 11:00 ` Josh Boyer
2006-05-10 11:20   ` Vitaly Wool
2006-05-10 13:39     ` Jörn Engel
2006-05-10 20:11       ` Josh Boyer
2006-05-11 19:06     ` Russ Dill
2006-05-11 22:26       ` David Woodhouse
2006-05-11 23:26         ` Russ Dill
2006-05-11 23:34           ` Josh Boyer
2006-05-11 23:58             ` Russ Dill
2006-05-12  8:55           ` Vitaly Wool
2006-05-12  8:52       ` Vitaly Wool
2006-05-13 14:08         ` David Woodhouse
2006-05-10 17:04   ` Atsushi Nemoto
2006-05-10 17:20     ` Josh Boyer
2006-05-10 20:01       ` Jörn Engel
2006-05-11 14:23       ` Atsushi Nemoto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.