From: Keith Owens <kaos@ocs.com.au>
To: linux-kernel@vger.kernel.org
Cc: rgooch@atnf.csiro.au, viro@math.psu.edu
Subject: 2.4.19 breaks devfs mapping for root=
Date: Mon, 21 Oct 2002 21:02:29 +1000 [thread overview]
Message-ID: <565.1035198149@ocs3.intra.ocs.com.au> (raw)
Resend #2 - no response to previous mails.
A change from 2.4.18 to 2.4.19 has broken the way that devfs maps
root=. 2.4.18 init/main.c::mount_root() has
devfs_make_root (root_device_name);
handle = devfs_find_handle (NULL, ROOT_DEVICE_NAME,
MAJOR (ROOT_DEV), MINOR (ROOT_DEV),
DEVFS_SPECIAL_BLK, 1);
where ROOT_DEVICE_NAME maps to the value of root= for non-initrd. This
allowed devfs to remap an entry such as sda3 to whatever driver was
implementing sda3, even if that driver used a different major number.
The correct major was returned in handle.
2.4.19 init/do_mounts.c::mount_root() has
devfs_make_root(root_device_name);
create_dev("/dev/root", ROOT_DEV, root_device_name);
create_dev() has
handle = devfs_find_handle(NULL, dev ? NULL : devfs_name,
MAJOR(dev), MINOR(dev), DEVFS_SPECIAL_BLK, 1);
The difference in 2.4.19 is that if dev is already set from
root_dev_names[] then devfs does NOT get the value of root=, forcing
the use of major from root_dev_names[]. If a driver reimplements one
of the standard device names and uses a different major or minor number
then it no longer works in 2.4.19 because devfs is given incomplete
information.
Quick and dirty workaround
--- 2.4.19/init/do_mounts.c
+++ 2.4.19/init/do_mounts.c
@@ -368,7 +368,7 @@
if (!do_devfs)
return sys_mknod(name, S_IFBLK|0600, kdev_t_to_nr(dev));
- handle = devfs_find_handle(NULL, dev ? NULL : devfs_name,
+ handle = devfs_find_handle(NULL, devfs_name,
MAJOR(dev), MINOR(dev), DEVFS_SPECIAL_BLK, 1);
if (!handle)
return -1;
But that probably breaks initrd. What should that code be doing to
cope with both initrd and still allow devfs to remap root=?
next reply other threads:[~2002-10-21 10:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-21 11:02 Keith Owens [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-10-16 11:03 2.4.19 breaks devfs mapping for root= Keith Owens
2002-10-14 6:26 Keith Owens
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=565.1035198149@ocs3.intra.ocs.com.au \
--to=kaos@ocs.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=rgooch@atnf.csiro.au \
--cc=viro@math.psu.edu \
/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).