Date: Wed, 25 Feb 2004 06:40:14 -0800 (PST) From: Bruce Evans <bde@zeta.org.au> To: freebsd-bugs@FreeBSD.org Subject: Re: misc/63343: Manual root filesystem specification failed with error 22 on 4.9-STABLE Message-ID: <200402251440.i1PEeEIf089999@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/63343; it has been noted by GNATS. From: Bruce Evans <bde@zeta.org.au> To: Nikolay Pavlov <quetzal@roks.biz> Cc: FreeBSD-gnats-submit@freebsd.org, joerg@freebsd.org Subject: Re: misc/63343: Manual root filesystem specification failed with error 22 on 4.9-STABLE Date: Thu, 26 Feb 2004 01:31:56 +1100 (EST) On Wed, 25 Feb 2004, Nikolay Pavlov wrote: > >Description: > I have erroneously change my fstab file and on next reboot can't mount root with <vfsname>:[<path>] command: > mountroot> ufs:/dev/ad1s2a > Root mount failed: 22 > Manual root filesystem specification: > <fstype>:<device> Mount <device> using filesystem <fstype> > eg. ufs:/dev/da0s1a > ? List valid disk boot devices > <empty line> Abort manual input > > The command did not want work only with new kernel, when I "boot kernel.GENERIC" it works. I think this is what was broken by rev.1.49.2.5 of kern/vfs_conf.c (a hack for vinum). The main bug is here: % @@ -354,4 +351,11 @@ % return (NODEV); % gotit: % + if (devsw(dev)->d_maj == major(rootdev)) % + /* driver has already configured rootdev, e. g. vinum */ % + return (rootdev); This results in rootdev never being changed if the first mountroot try sets rootdev to have the right major (and the user doesn't manage to work around the bug by trying a different major). Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402251440.i1PEeEIf089999>