[PATCH 2.6.24] block2mtd: removing a device and typo fixes

Stephane Chazelas stephane.chazelas at emerson.com
Wed Feb 20 12:02:31 EST 2008


2008-02-20 17:30:42 +0100, Jörn Engel:
> On Wed, 20 February 2008 14:43:39 +0000, Stephane Chazelas wrote:
> > 
> > note that for "loop", you have /dev/loop0, /dev/loop1... which
> > makes it a pain to handle
> > 
> > For block2mtd, you don't need several device files in /dev, you
> > only need one to pass ioctls down to create mtd devices.
> > 
> > That may end up creating new /dev devices via mtdblock or
> > mtdblock_ro for instance.
> > 
> > So I'm not sure reusing the "loop" ioctls is a good idea.
> 
> /me notes that you dislike both existing interfaces and would prefer a
> third.  How likely is it that you will still like the new interface two
> years down the road?  How likely is it that everyone else will agree
> with you?
> 
> In the end, a painful interface is still less painful than a choice of
> several incompatible ones.  I used to think different and have burned my
> fingers often enough to learn the lesson. :)
[...]

Hi Jörn,

sorry, I wasn't very clear.

With "loop", you're doing an ioctl() to /dev/loop<x> so that
/dev/loop<x> become a block device associated with a given file.

Applying that strictly to block2mtd wouldn't make sense.

At the moment, when you create a new block2mtd, the only thing
you see is an entry in /proc/mtd.

You don't access that mtd device directly (there's no
/dev/mtd<x>). Instead, you may access it via a /dev/mtdblock<x>
if you have "block2mtd" for instance.

Here, what you need, is an API that gets a block device (with fd
or path) and an erase size and that returns a mtd identifier.

Best regards,
Stephane



More information about the linux-mtd mailing list