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