kern/129674: gjournal root did not mount on boot

Alexei Volkov Alexei.Volkov at softlynx.ru
Tue Dec 16 03:20:02 PST 2008


>Number:         129674
>Category:       kern
>Synopsis:       gjournal root did not mount on boot
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 16 11:20:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Alexei Volkov
>Release:        7.1-PRERELEASE
>Organization:
SoftLynx
>Environment:
FreeBSD testhost7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #6 r185330: Wed Nov 26 14:12:01 MSK 2008     root at testhost:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
Under certain conditions the system did not boot from the single journaled root and fall into 

ad0: 10240MB <QEMU HARDDISK 0.9.1> at ata0-master WDMA2
ad1: 10240MB <QEMU HARDDISK 0.9.1> at ata0-slave WDMA2
GEOM_MIRROR: Device mirror/vol0 launched (1/2).
GEOM_MIRROR: Device vol0: rebuilding provider ad1.
GEOM_JOURNAL: Journal 4069545828: mirror/vol0a contains data.
GEOM_JOURNAL: Journal 4069545828: mirror/vol0a contains journal.
acd0: CDROM <QEMU DVD-ROM/0.9.1> at ata1-master WDMA2
Trying to mount root from ufs:/dev/mirror/vol0a.journal

Manual root filesystem specification:
<fstype>:<device>  Mount <device> using filesystem <fstype>
eg. ufs:da0s1a
?                  List valid disk boot devices
<empty line>       Abort manual input

mountroot> ?

List of GEOM managed disk devices:
mirror/vol0c mirror/vol0b mirror/vol0a mirror/vol0 ad1 ad0

>How-To-Repeat:
Prepare the filesystem as desribed 

gmirror label vol0 /dev/ad0 /dev/ad1

cat <<LABEL >/tmp/label
a:    *     *   unused
b:    1G    *   unused
c:    *     *   unused
LABEL


disklabel -B -R /dev/mirror/vol0 /tmp/label
gjournal label /dev/mirror/vol0a
newfs -J /dev/mirror/vol0a.journal
tunefs -a enable /dev/mirror/vol0a.journal

And install the system to that way prepared root.

After booting into it run

dd if=/dev/random of=/tmp/dump bs=16384

and press reset button.

Repeat the unexpected reset condition until the issue will appeared. In my case there was several attempts before reach the state.

The issue was initially discovered from the real running hardware.


>Fix:
There is no known fix, but some workaround. Boot into any FreeBSD livecd and 

kldload geom_mirror
kldload geom_journal

After the message GEOM_JOURNAL: Journal mirror/vol0a consistent will appear reboot back from HDD.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list