Re: Support of removable MTD devices and other advanced features (follow-up from lkml)

Jörn Engel
2008-05-23T13:29:05Z

On Fri, 23 May 2008 05:49:48 -0700, Alex Dubov wrote:
>
> We are talking about somewhat different things here. Userspace visible devices
> (highest layer in mtd stack) must support something complex. Lower levers in
> the mtd stack - not necessarily so.
>
> Highest level "raw mtd" devices can be normal block devices with support for
> custom commands. Intermediate and low level modules can do with simple
> interface.

Either I misunderstand you or you are forgetting that filesystems deal
with raw mtd devices, which are the lowest levels in your stack afaics.
JFFS2 and LogFS will deal directly with the chip driver and bypass any
intermediate layers. UBIFS will talk to UBI as a middle layer, which
again talks directly to the chip driver.

> Then, there should be a layer akin to "md" that will allow creation of flash
> raids. After all, we are not limited in number of intermediate devices present
> in the kernel. We don't have to create userspace visible nodes for them.

True. For me pure concatenation would be enough. All I need is some
extra geometry information so I can decide which block belongs to which
chip. In the simplest case something like "13 chips of 123MiB each,
linearly concatenated". Different chips sizes are fine, different
erasesize and writesize may still work within reason.

So mtdconcat.c plus extended geometry information would be good enough.

Jörn

--
All art is but imitation of nature.
-- Lucius Annaeus Seneca