Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Nov 2007 18:42:27 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        Yuri <yuri@tsoft.com>, freebsd-gnats-submit@freebsd.org, freebsd-bugs@freebsd.org
Subject:   Re: misc/118160: unable to mount / rw while booting 7.0-BETA3
Message-ID:  <20071121182210.T81418@delplex.bde.org>
In-Reply-To: <20071121170349.X81263@delplex.bde.org>
References:  <200711210234.lAL2Y7cU041129@www.freebsd.org> <20071121170349.X81263@delplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 21 Nov 2007, Bruce Evans wrote:

> I can now see a plausible way to reach the bad state:
> - after booting, the root device is mounted on / r/o with no problems
> - mistype a mount command or have $true generate a wrong mount command,
>  so that the root device is mounted somewhere else (I don't know how
>  it can be on "", but it could be on " " or on any valid pathname).
>  If you preemptively mount it r/w, then this other mount will fail
>  -- look in the logs for messages about this.
> - now try to remount / r/w normally.  This will fail due to the r/o mount
>  not on /.
> - if there is only 1 extra r/o mount of /, then the r/w mount should work
>  after unmounting the extra.  If there are several extras, then unmounting
>  them in a certain order should give the bufobj panic.

The bufobj panic actually happens in the only possible order for trying to
fix the simulated problem: after booting with -s:

     # mount -o ro /dev/ad0s2a /mnt     # create extra mount (ad0s2a is root dev)
     #                                  # like a runaway script might
     # umount /mnt                      # get rid of the extra mount
     # fsck -p /
     --- panic

and

     # mount /dev/ad0s2a /mnt           # I forgot the ro
     --- this succeeds due to the hack that lets fsck succeed, but it shouldn't

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071121182210.T81418>