misc/63343: Manual root filesystem specification failed with
error 22 on 4.9-STABLE
Bruce Evans
bde at zeta.org.au
Wed Feb 25 06:40:14 PST 2004
The following reply was made to PR misc/63343; it has been noted by GNATS.
From: Bruce Evans <bde at zeta.org.au>
To: Nikolay Pavlov <quetzal at roks.biz>
Cc: FreeBSD-gnats-submit at freebsd.org, joerg at 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
More information about the freebsd-bugs
mailing list