From: Arnd Bergmann <arnd@arndb.de>
To: Jan Kara <jack@suse.cz>
Cc: LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: Allow setting of number of raw devices as a module parameter
Date: Tue, 3 May 2011 12:55:06 +0200 [thread overview]
Message-ID: <201105031255.06410.arnd@arndb.de> (raw)
In-Reply-To: <20110502211141.GA14889@quack.suse.cz>
On Monday 02 May 2011, Jan Kara wrote:
> >
> > The character device layer uses kobj_lookup internally when opening
> > the device. When you are inside the driver, you can access it through
> > file->f_path.dentry->d_inode->i_cdev, from where you go to your own data
> > structure using container_of.
>
> OK, but if I don't have the inode of the character device (like in
> RAW_GETBIND case)?
Oh, good point. That doesn't work as easily then. You'd have to use kobj_lookup,
but you can only do that from fs/char_dev.c because otherwise the cdev_map
is not visible.
So you could in theory add a cdev_lookup() function to fs/char_dev.c, but I'm
not sure if that is a good idea if the only user is raw.c. It's probably
not any cleaner than the approach you were suggesting.
Another idea would be to make the array dynamically sized, using some version
of realloc (which doesn't exist for vmalloc today), or to use a more complex
data structure for the lookup, like idr or radix_tree.
Arnd
next prev parent reply other threads:[~2011-05-03 10:55 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-28 22:24 Allow setting of number of raw devices as a module parameter Jan Kara
2011-04-29 23:19 ` Greg KH
2011-04-29 23:28 ` Andrew Morton
2011-04-30 0:07 ` Greg KH
2011-04-30 5:09 ` Dave Jones
2011-04-30 5:42 ` Greg KH
2011-04-30 10:29 ` Alan Cox
2011-04-30 15:34 ` Greg KH
2011-04-30 15:41 ` Alan Cox
2011-04-30 15:47 ` Greg KH
2011-05-02 19:22 ` Jan Kara
2011-05-03 9:42 ` Alan Cox
2011-04-30 12:15 ` Arnd Bergmann
2011-05-02 19:39 ` Jan Kara
2011-05-02 19:44 ` Arnd Bergmann
2011-05-02 21:11 ` Jan Kara
2011-05-03 10:55 ` Arnd Bergmann [this message]
2011-05-03 16:26 ` Jan Kara
2011-05-03 17:30 ` Arnd Bergmann
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=201105031255.06410.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=akpm@linux-foundation.org \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
/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