DragonFly bugs List (threaded) for 2004-05
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: vfs_rootmount() failed
Hiroki, I think you are on to something, because the for() loop is
something that has undergone significant work in recent days.
What we need to do is figure out why it doesn't see the device. I am
going to take a quick look at the ATA device code and try to reproduce
the problem by throwing in a second drive. In fact, I think I may know
what it is already (but I'm not quite sure yet)... I allow multiple
units of a cdev to be overloaded on the device switch now and the below
code does not take that into account.
Did you get any warning messages from the kernel before it failed
to find the device?
-Matt
Matthew Dillon
<dillon@xxxxxxxxxxxxx>
: |351 for (cd = 0; cd < NUMCDEVSW; cd++) {
: |352 dev = udev2dev(makeudev(cd, 0), 0);
: |353 if (dev_is_good(dev) && dev_dname(dev) &&
: |354 strcmp(dev_dname(dev), name) == 0) {
: |355 goto gotit;
: |356 }
: |357 }
:----Security_Multipart(Sun_May_30_09_13_36_2004_835)--
:Content-Type: Text/Plain; charset=us-ascii
:Content-Transfer-Encoding: 7bit
:
:Hi,
:
: I upgraded my box to a kernel as of 05/29 but it fails to boot at
: the point of mounting the root filesystem. Another kernel as of
: 05/19 could boot successfully, but the following warning was displayed
: (the root filesystem is /dev/ad4s1a):
:
: | ad4: 58644MB <IC35L060AVER07-0> [119150/16/63] at ata2-master UDMA66
: | WARNING: "ad" is usurping "ad"'s cdevsw[]
:
: With the 05/29 kernel, the following message appears and the boot
: fails:
:
: | Mounting root from ufs:/dev/ad4s1a
: | no such device 'ad'
: | setrootbyname failed
: | ffs_mountroot: can't find rootvp
: | Root mount failed: 6
:
: I have confirmed that at the stage in getdiskbyname()@sys/kern/vfs_conf.c
: the kernel did not know the ad device. This loop in the function
:
: |351 for (cd = 0; cd < NUMCDEVSW; cd++) {
: |352 dev = udev2dev(makeudev(cd, 0), 0);
: |353 if (dev_is_good(dev) && dev_dname(dev) &&
: |354 strcmp(dev_dname(dev), name) == 0) {
: |355 goto gotit;
: |356 }
: |357 }
:
: did not match the name "ad" (acd was found, BTW). Is this
: a side-effect of the recent cdevsw related changes?
:
: The box has two on-board ATA controllers and a Promise ATA card,
: but all hard drives are connected to the Promise card. If I am missing
: something or another information is needed, please let me know.
:
:--
:| Hiroki SATO
:
:----Security_Multipart(Sun_May_30_09_13_36_2004_835)--
:Content-Type: application/pgp-signature
:Content-Transfer-Encoding: 7bit
:
:-----BEGIN PGP SIGNATURE-----
:Version: GnuPG v1.2.4 (FreeBSD)
:
:iD8DBQBAuScyTyzT2CeTzy0RAtHGAKCj29vD+asB/PvwLHJvD2jRLo0MAwCeNukk
:r5egFXXUyopktb6C5t5CvIM=
:=d8Yy
:-----END PGP SIGNATURE-----
:
:----Security_Multipart(Sun_May_30_09_13_36_2004_835)----
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]