From owner-freebsd-bugs@FreeBSD.ORG Wed Feb 25 06:40:14 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 631AA16A4CE for ; Wed, 25 Feb 2004 06:40:14 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5D2B943D1D for ; Wed, 25 Feb 2004 06:40:14 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i1PEeEbv090002 for ; Wed, 25 Feb 2004 06:40:14 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i1PEeEIf089999; Wed, 25 Feb 2004 06:40:14 -0800 (PST) (envelope-from gnats) Date: Wed, 25 Feb 2004 06:40:14 -0800 (PST) Message-Id: <200402251440.i1PEeEIf089999@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Bruce Evans Subject: Re: misc/63343: Manual root filesystem specification failed with error 22 on 4.9-STABLE X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Bruce Evans List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2004 14:40:14 -0000 The following reply was made to PR misc/63343; it has been noted by GNATS. From: Bruce Evans To: Nikolay Pavlov 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 :[] command: > mountroot> ufs:/dev/ad1s2a > Root mount failed: 22 > Manual root filesystem specification: > : Mount using filesystem > eg. ufs:/dev/da0s1a > ? List valid disk boot devices > 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