vfs_rootmount() failed
Matthew Dillon
dillon at apollo.backplane.com
Sun May 30 15:58:16 PDT 2004
: Hmmm, the loop should respect the minor device number? As far as I can check,
: makeudev(cd, 0) does not return a device whose minor number != 0.
: The attached patch solves my problem and my box works again
: successfully with it, but is it a right approach?
:
:dillon> Did you get any warning messages from the kernel before it failed
:dillon> to find the device?
:
: No warning is displayed.
Yup, that looks to be the correct solution. In the old dev framework
it was sufficient to specify a minor number of 0 to get the device
reference because the old framework only checked that the major number
was registered.
The new device framework doesn't do that. We register the major number
plus a minor number range (mask/match for the minor), so only devices
within the registered minor number range are created. So specifying
the correct minor number is indeed the correct solution.
I'll run some tests to make sure my systems don't hicup on it, but
otherwise will commit your patch! Thanks, that was some excellent
sleuthing!
-Matt
:--
:| Hiroki SATO
:
:----Next_Part(Mon_May_31_03_23_15_2004_852)--
:Content-Type: Text/Plain; charset=us-ascii
:Content-Transfer-Encoding: 7bit
:Content-Disposition: inline; filename="vfs_conf.c.diff"
:
:Index: vfs_conf.c
:===================================================================
:RCS file: /cvs/src/sys/kern/vfs_conf.c,v
:retrieving revision 1.8
:diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.8 vfs_conf.c
:--- vfs_conf.c 19 May 2004 22:52:58 -0000 1.8
:+++ vfs_conf.c 30 May 2004 18:09:13 -0000
More information about the Bugs
mailing list