From: Greg Kroah-Hartman <gregkh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: Roland Dreier <rdreier@cisco.com>,
Roland Dreier <rolandd@cisco.com>,
Greg Kroah-Hartman <gregkh@suse.de>
Subject: [PATCH 1/5] driver core: Convert '/' to '!' in dev_set_name()
Date: Tue, 20 Jan 2009 21:19:53 -0800 [thread overview]
Message-ID: <1232515197-3974-1-git-send-email-gregkh@suse.de> (raw)
In-Reply-To: <20090121051855.GA3665@kroah.com>
From: Roland Dreier <rdreier@cisco.com>
Commit 3ada8b7e ("block: struct device - replace bus_id with dev_name(),
dev_set_name()") deleted the code in register_disk() that changed a '/'
to a '!' in the device name when registering a disk, but dev_set_name()
does not perform this conversion.
This leads to amusing problems with disks that have '/' in their names:
for example a failure to boot with the root partition on a cciss device,
even though the kernel says it knows about the root device:
VFS: Cannot open root device "cciss/c0d0p6" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
6800 71652960 cciss/c0d0 driver: cciss
6802 1 cciss/c0d0p2
6805 2931831 cciss/c0d0p5
6806 34354908 cciss/c0d0p6
6810 71652960 cciss/c0d1 driver: cciss
Fix this by adding code to change '/' to '!' in dev_set_name() to handle
this until dev_set_name() is converted to use kobject_set_name().
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/core.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 8079afc..55e5309 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -777,10 +777,16 @@ static void device_remove_class_symlinks(struct device *dev)
int dev_set_name(struct device *dev, const char *fmt, ...)
{
va_list vargs;
+ char *s;
va_start(vargs, fmt);
vsnprintf(dev->bus_id, sizeof(dev->bus_id), fmt, vargs);
va_end(vargs);
+
+ /* ewww... some of these buggers have / in the name... */
+ while ((s = strchr(dev->bus_id, '/')))
+ *s = '!';
+
return 0;
}
EXPORT_SYMBOL_GPL(dev_set_name);
--
1.6.0.4
next prev parent reply other threads:[~2009-01-21 5:21 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-21 5:18 [GIT PATCH] driver core fixes for your 2.6-git tree Greg KH
2009-01-21 5:19 ` Greg Kroah-Hartman [this message]
2009-01-21 5:19 ` [PATCH 2/5] PNP: fix broken pnp lowercasing for acpi module aliases Greg Kroah-Hartman
2009-01-21 5:19 ` [PATCH 3/5] sysfs: fix problems with binary files Greg Kroah-Hartman
2009-01-21 5:19 ` [PATCH 4/5] debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n Greg Kroah-Hartman
2009-01-22 6:41 ` Stephen Rothwell
2009-01-22 18:22 ` Greg KH
2009-01-22 19:53 ` Inaky Perez-Gonzalez
2009-01-21 5:19 ` [PATCH 5/5] klist.c: bit 0 in pointer can't be used as flag Greg Kroah-Hartman
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=1232515197-3974-1-git-send-email-gregkh@suse.de \
--to=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=rdreier@cisco.com \
--cc=rolandd@cisco.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.