From: Arnd Bergmann <arnd@arndb.de>
To: dedekind1@gmail.com
Cc: linux-embedded <linux-embedded@vger.kernel.org>,
david.wagner@free-electrons.com,
lkml <linux-kernel@vger.kernel.org>,
linux-mtd <linux-mtd@lists.infradead.org>,
Tim Bird <tim.bird@am.sony.com>,
David Woodhouse <dwmw2@infradead.org>
Subject: Re: [PATCHv3] UBI: new module ubiblk: block layer on top of UBI
Date: Thu, 25 Aug 2011 17:12:40 +0200 [thread overview]
Message-ID: <201108251712.40894.arnd@arndb.de> (raw)
In-Reply-To: <1314256010.18988.18.camel@sauron>
On Thursday 25 August 2011, Artem Bityutskiy wrote:
> On Wed, 2011-08-24 at 18:23 +0200, Arnd Bergmann wrote:
> > 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.
>
> I think this wasteful. Why should I have block devices which I do not
> need? If I have 4 UBI volumes, and need only one ubiblk, why should I
> waste my resources for 3 more of them (e.g., I do not want to waste
> memory for struct inode for each sysfs entry which these useless block
> devices will add). Also, will this mean 3 more block devices registered?
>
> I think it is much uglier to have 3 "dummy" block devices and confuse
> users than have one nice control character device. For the sake of not
> having a separate control chardev?
The cost of a block device node in the kernel is rather low. Nowadays,
sysfs does not even permanently use inodes for entries, it has a much
more compact internal representation IIRC.
The main advantage of this approach is not having to set up the
block device at all, it would just be there, which e.g. makes it
possible to put a root file system on it or do something else without
requiring a user space tool to issue an ioctl.
Evidently you can do everything you need even with that user space
tool, but IMHO the complexity of doing that is way bigger than
just creating the block devices right away.
> > * 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.
>
> This sounds better IMHO, but I am still not sure that adding another
> dummy bus and exposing it in sysfs and more complexity in the ubiblk
> code is more elegant and less wasteful than just creating a separate
> chardev...
It's not a dummy bus, in this approach it would be a the bus that gets
used by all ubiblk devices, which is a very common concept by itself.
It's more like the classic understanding of a 'device class' that Greg
wants to see get replaced by bus_types in the kernel.
Arnd
next prev parent reply other threads:[~2011-08-25 15:13 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-24 13:34 [RFC] ubiblk: read-only block layer on top of UBI david.wagner
2011-06-24 13:34 ` [PATCH] UBI: new module ubiblk: " david.wagner
2011-06-27 19:26 ` Artem Bityutskiy
2011-06-28 11:35 ` David Wagner
2011-06-29 6:52 ` Artem Bityutskiy
2011-06-28 14:50 ` Matthieu CASTET
2011-06-28 15:32 ` David Wagner
2011-06-29 6:25 ` Artem Bityutskiy
2011-06-27 19:14 ` [RFC] ubiblk: read-only " Artem Bityutskiy
2011-06-28 15:24 ` [RFC PATCHv2] UBI: new module ubiblk: " david.wagner
2011-06-29 6:54 ` Artem Bityutskiy
2011-07-26 12:27 ` [PATCH] " David Wagner
2011-07-26 12:34 ` Christoph Hellwig
2011-07-26 12:58 ` David Wagner
2011-07-28 6:14 ` Artem Bityutskiy
2011-08-15 11:56 ` Artem Bityutskiy
2011-08-17 13:17 ` [PATCHv3] " david.wagner
2011-08-17 14:20 ` [PATCH] Tools for controling ubiblk David Wagner
2011-08-22 8:17 ` Artem Bityutskiy
2011-08-22 7:39 ` [PATCHv3] UBI: new module ubiblk: block layer on top of UBI Artem Bityutskiy
2011-08-22 7:42 ` Artem Bityutskiy
2011-08-24 16:23 ` Arnd Bergmann
2011-08-25 7:06 ` Artem Bityutskiy
2011-08-25 15:12 ` Arnd Bergmann [this message]
2011-09-01 12:55 ` David Wagner
2011-09-06 3:44 ` Artem Bityutskiy
2011-09-06 4:10 ` Artem Bityutskiy
2011-09-06 4:29 ` Artem Bityutskiy
2011-09-08 15:26 ` Arnd Bergmann
2011-09-09 11:53 ` Artem Bityutskiy
2011-09-09 12:02 ` Artem Bityutskiy
2011-09-09 14:25 ` Arnd Bergmann
2011-09-09 15:27 ` Artem Bityutskiy
2011-09-09 14:41 ` David Wagner
2011-09-09 14:51 ` Arnd Bergmann
2011-09-11 10:18 ` Artem Bityutskiy
2011-09-11 10:35 ` David Wagner
2011-08-24 16:15 ` [PATCHv4] " david.wagner
2011-08-24 16:21 ` [PATCH] document ubiblk's usage of the same ioctl magic as a part " David Wagner
2011-09-06 4:58 ` Artem Bityutskiy
2011-09-06 4:55 ` [PATCHv4] UBI: new module ubiblk: block layer on top " Artem Bityutskiy
2011-09-12 9:51 ` [PATCHv5] " David Wagner
2011-09-19 4:50 ` Artem Bityutskiy
2011-09-22 7:58 ` [PATCHv6] " David Wagner
2011-09-23 10:58 ` Artem Bityutskiy
2011-09-26 12:58 ` David Wagner
2011-09-26 9:17 ` Ricard Wanderlof
2011-09-26 12:11 ` Ricard Wanderlof
2011-09-26 12:38 ` [PATCHv7] " David Wagner
2011-09-26 13:20 ` Artem Bityutskiy
2011-09-26 14:25 ` [PATCHv8] " David Wagner
2011-09-26 14:36 ` Artem Bityutskiy
2011-09-26 14:40 ` [PATCHv9] " David Wagner
2011-10-01 14:08 ` Artem Bityutskiy
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=201108251712.40894.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=david.wagner@free-electrons.com \
--cc=dedekind1@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-embedded@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=tim.bird@am.sony.com \
/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;
as well as URLs for NNTP newsgroup(s).