From: Jan Blunck <jblunck@suse.de>
To: Andrew Morton <akpm@osdl.org>
Cc: Linux-Kernel Mailinglist <linux-kernel@vger.kernel.org>,
Christoph Hellwig <hch@lst.de>,
Andreas Gruenbacher <agruen@suse.de>
Subject: [patch 01/10] Dont touch fs_struct in drivers
Date: Tue, 09 Oct 2007 20:05:04 +0200 [thread overview]
Message-ID: <20071009180512.041182650@X40.localnet> (raw)
In-Reply-To: 20071009180503.075306583@X40.localnet
[-- Attachment #1: vfs/dont-touch-current-fs.diff --]
[-- Type: text/plain, Size: 4181 bytes --]
The sound drivers and the pnpbios core test for current->root != NULL. This
test seems to be unnecessary since we always have rootfs mounted before
initializing the drivers.
Signed-off-by: Jan Blunck <jblunck@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
---
drivers/pnp/pnpbios/core.c | 2 --
sound/core/seq/seq_clientmgr.c | 4 ++--
sound/core/seq/seq_device.c | 3 ---
sound/core/sound.c | 4 ----
sound/core/timer.c | 2 --
sound/ppc/daca.c | 5 ++---
sound/ppc/tumbler.c | 5 ++---
7 files changed, 6 insertions(+), 19 deletions(-)
Index: b/drivers/pnp/pnpbios/core.c
===================================================================
--- a/drivers/pnp/pnpbios/core.c
+++ b/drivers/pnp/pnpbios/core.c
@@ -105,8 +105,6 @@ static int pnp_dock_event(int dock, stru
char *argv[3], **envp, *buf, *scratch;
int i = 0, value;
- if (!current->fs->root)
- return -EAGAIN;
if (!(envp = kcalloc(20, sizeof(char *), GFP_KERNEL)))
return -ENOMEM;
if (!(buf = kzalloc(256, GFP_KERNEL))) {
Index: b/sound/core/seq/seq_clientmgr.c
===================================================================
--- a/sound/core/seq/seq_clientmgr.c
+++ b/sound/core/seq/seq_clientmgr.c
@@ -152,13 +152,13 @@ struct snd_seq_client *snd_seq_client_us
}
spin_unlock_irqrestore(&clients_lock, flags);
#ifdef CONFIG_KMOD
- if (!in_interrupt() && current->fs->root) {
+ if (!in_interrupt()) {
static char client_requested[SNDRV_SEQ_GLOBAL_CLIENTS];
static char card_requested[SNDRV_CARDS];
if (clientid < SNDRV_SEQ_GLOBAL_CLIENTS) {
int idx;
- if (! client_requested[clientid] && current->fs->root) {
+ if (!client_requested[clientid]) {
client_requested[clientid] = 1;
for (idx = 0; idx < 15; idx++) {
if (seq_client_load[idx] < 0)
Index: b/sound/core/seq/seq_device.c
===================================================================
--- a/sound/core/seq/seq_device.c
+++ b/sound/core/seq/seq_device.c
@@ -150,9 +150,6 @@ void snd_seq_device_load_drivers(void)
if (snd_seq_in_init)
return;
- if (! current->fs->root)
- return;
-
mutex_lock(&ops_mutex);
list_for_each_entry(ops, &opslist, list) {
if (! (ops->driver & DRIVER_LOADED) &&
Index: b/sound/core/sound.c
===================================================================
--- a/sound/core/sound.c
+++ b/sound/core/sound.c
@@ -72,8 +72,6 @@ static DEFINE_MUTEX(sound_mutex);
*/
void snd_request_card(int card)
{
- if (! current->fs->root)
- return;
if (snd_card_locked(card))
return;
if (card < 0 || card >= cards_limit)
@@ -87,8 +85,6 @@ static void snd_request_other(int minor)
{
char *str;
- if (! current->fs->root)
- return;
switch (minor) {
case SNDRV_MINOR_SEQUENCER: str = "snd-seq"; break;
case SNDRV_MINOR_TIMER: str = "snd-timer"; break;
Index: b/sound/core/timer.c
===================================================================
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -148,8 +148,6 @@ static struct snd_timer *snd_timer_find(
static void snd_timer_request(struct snd_timer_id *tid)
{
- if (! current->fs->root)
- return;
switch (tid->dev_class) {
case SNDRV_TIMER_CLASS_GLOBAL:
if (tid->device < timer_limit)
Index: b/sound/ppc/daca.c
===================================================================
--- a/sound/ppc/daca.c
+++ b/sound/ppc/daca.c
@@ -246,9 +246,8 @@ int __init snd_pmac_daca_init(struct snd
struct pmac_daca *mix;
#ifdef CONFIG_KMOD
- if (current->fs->root)
- request_module("i2c-powermac");
-#endif /* CONFIG_KMOD */
+ request_module("i2c-powermac");
+#endif /* CONFIG_KMOD */
mix = kzalloc(sizeof(*mix), GFP_KERNEL);
if (! mix)
Index: b/sound/ppc/tumbler.c
===================================================================
--- a/sound/ppc/tumbler.c
+++ b/sound/ppc/tumbler.c
@@ -1327,9 +1327,8 @@ int __init snd_pmac_tumbler_init(struct
char *chipname;
#ifdef CONFIG_KMOD
- if (current->fs->root)
- request_module("i2c-powermac");
-#endif /* CONFIG_KMOD */
+ request_module("i2c-powermac");
+#endif /* CONFIG_KMOD */
mix = kzalloc(sizeof(*mix), GFP_KERNEL);
if (! mix)
--
next prev parent reply other threads:[~2007-10-09 18:09 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-09 18:05 [patch 00/10] Use struct path in struct nameidata Jan Blunck
2007-10-09 18:05 ` Jan Blunck [this message]
2007-10-09 18:05 ` [patch 02/10] Dont touch fs_struct in usermodehelper Jan Blunck
2007-10-09 18:05 ` [patch 03/10] Remove path_release_on_umount() Jan Blunck
2007-10-09 18:05 ` [patch 04/10] Move struct path into its own header Jan Blunck
2007-10-09 18:05 ` [patch 05/10] Embed a struct path into struct nameidata instead of nd->{dentry,mnt} Jan Blunck
2007-10-09 18:05 ` [patch 06/10] Introduce path_put() Jan Blunck
2007-10-09 18:05 ` [patch 07/10] Use path_put() in a few places instead of {mnt,d}put() Jan Blunck
2007-10-09 18:05 ` [patch 08/10] Introduce path_get() Jan Blunck
2007-10-09 18:05 ` [patch 09/10] Use struct path in fs_struct Jan Blunck
2007-10-09 18:05 ` [patch 10/10] Make set_fs_{root,pwd} take a struct path Jan Blunck
-- strict thread matches above, loose matches on Subject: below --
2007-09-27 14:12 [patch 00/10] Use struct path in struct nameidata jblunck
2007-09-27 14:12 ` [patch 01/10] Dont touch fs_struct in drivers jblunck
2007-09-28 18:33 ` Christoph Hellwig
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=20071009180512.041182650@X40.localnet \
--to=jblunck@suse.de \
--cc=agruen@suse.de \
--cc=akpm@osdl.org \
--cc=hch@lst.de \
--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