Re: [PATCHv3] UBI: new module ubiblk: block layer on top of UBI

Arnd Bergmann
2011-08-24T16:23:24Z

On Monday 22 August 2011, Artem Bityutskiy wrote:
>
> On Wed, 2011-08-17 at 15:17 +0200, david.wagner@free-electrons.com
> wrote:
> > Questions:
> > ==========
> > I wasn't sure what magic ioctl number to use, so I settled to use the same one
> > as a part of UBI: 'O', which was so far only used by UBI but on a higher range
> > and leaving some room for UBI to add ioctls (for nw, it uses 'O'/0x00-0x06 and
> > ubiblk uses 'O'/0x10-0x11). Is it ok or should ubiblk use a different
> > number/range ?
>
> I think this is OK to share them between UBI and ubiblk, as long as this
> is documented.

That should be fine, yes. I would probably put them into the same
header file though if they are in the same number space even
when you use them on distinct devices.

It does feel a little clumsy to have yet another character device
to manage the block devices though. What do you think about one
of these alternative approaches:

* When the ubi block device driver gets loaded, create one block
device per volume and let the user deal with permissions for
the devices instead of having to first create them as well.
* Use the existing UBI control device for the block devices as
well and just add two more ioctls to create the devices.
You can add a logical bus_type for this so that the ubi block
driver gets automatically loaded matched with the device when
one is created using the control device.

Arnd