From fmysh@quad.dyndns.org  Wed Jun 30 20:01:02 2004
Return-Path: <fmysh@quad.dyndns.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 80C7216A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 30 Jun 2004 20:01:02 +0000 (GMT)
Received: from prime.quad.dyndns.org (12.57.138.210.xn.2iij.net [210.138.57.12])
	by mx1.FreeBSD.org (Postfix) with ESMTP id AFD1B43D31
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 30 Jun 2004 20:01:01 +0000 (GMT)
	(envelope-from fmysh@quad.dyndns.org)
Received: from localhost (localhost [127.0.0.1])
	by prime.quad.dyndns.org (Postfix) with ESMTP id 5F533F1865;
	Thu,  1 Jul 2004 05:00:24 +0900 (JST)
Received: from prime.quad.dyndns.org ([127.0.0.1])
 by localhost (prime.quad.dyndns.org [127.0.0.1]) (amavisd-new, port 10024)
 with LMTP id 00654-01; Thu,  1 Jul 2004 05:00:23 +0900 (JST)
Received: by prime.quad.dyndns.org (Postfix, from userid 1001)
	id CC87EF1863; Thu,  1 Jul 2004 05:00:23 +0900 (JST)
Message-Id: <20040630200023.CC87EF1863@prime.quad.dyndns.org>
Date: Thu,  1 Jul 2004 05:00:23 +0900 (JST)
From: TAOKA Fumiyoshi <fmysh@iijmio-mail.jp>
Reply-To: TAOKA Fumiyoshi <fmysh@iijmio-mail.jp>
To: FreeBSD-gnats-submit@freebsd.org
Cc: TAOKA Fumiyoshi <fmysh@iijmio-mail.jp>
Subject: make release fails with mdconfig
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         68528
>Category:       misc
>Synopsis:       make release fails with mdconfig
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 30 20:10:18 GMT 2004
>Closed-Date:    Fri Sep 24 05:24:30 GMT 2004
>Last-Modified:  Fri Sep 24 05:24:30 GMT 2004
>Originator:     TAOKA Fumiyoshi
>Release:        FreeBSD 5.2-CURRENT i386
>Organization:
>Environment:
System: FreeBSD prime.quad.dyndns.org 5.2-CURRENT FreeBSD 5.2-CURRENT #8: Thu Jul 1 04:19:59 JST 2004 fmysh@prime.quad.dyndns.org:/usr/obj/usr/src/sys/DPI533 i386

>Description:

`make release' fails at creating a memory disk for mfsroot in
release.9 target. Although the md node was actually created,
immediate `test -c' doesn't pass.

>How-To-Repeat:
	
In a chrooted environment for `make release'

# make release.9
cp /R/stage/trees/base/etc/disktab /etc
rm -rf /R/stage/mfsfd
mkdir /R/stage/mfsfd
cd /R/stage/mfsfd &&  mkdir -p etc/defaults dev mnt stand/etc/defaults stand/help
( cd /R/stage/mfsfd &&  for dir in bin sbin ; do  ln -sf /stand $dir;  done )
cp /R/stage/trees/base/sbin/dhclient-script /R/stage/mfsfd/stand
cp /usr/src/release/../etc/usbd.conf /R/stage/mfsfd/etc/usbd.conf
( for F in defaults/rc.conf netconfig protocols ; do  sed -e '/^#.*$/d' -e 's/[:space:]*#.*$//g'  /R/stage/trees/base/etc/$F > /R/stage/mfsfd/stand/etc/$F ;  done )
grep -E '^(ftp|nameserver|domain|sunrpc|cmd|nfsd)[^-\w]'  /R/stage/trees/base/etc/services |  sed -e '/^#.*$/-e 's/[:space:]*#.*$//g'  > /R/stage/mfsfd/stand/etc/services
grep 'operator' /R/stage/trees/base/etc/group  > /R/stage/mfsfd/stand/etc/group
ln /R/stage/mfsfd/stand/etc/services /R/stage/mfsfd/etc/services
ln /R/stage/mfsfd/stand/etc/group /R/stage/mfsfd/etc/group
ln /R/stage/mfsfd/stand/etc/netconfig /R/stage/mfsfd/etc/netconfig
cp /R/stage/trees/base/COPYRIGHT /R/stage/mfsfd/stand/help/COPYRIGHT.hlp
test -f /usr/src/release/install.cfg  && cp /usr/src/release/install.cfg /R/stage/mfsfd
*** Error code 1 (ignored)
sh -e /usr/src/release/scripts/doFS.sh bsdlabel "" /R/stage/mfsroot/mfsroot /R/stage /mnt  4320 /R/stage/mfsfd 8000 minimum3
+ export BLOCKSIZE=512
+ DISKLABEL=bsdlabel
+ shift
+ MACHINE=
+ shift
+ FSIMG=/R/stage/mfsroot/mfsroot
+ shift
+ RD=/R/stage
+ shift
+ MNT=/mnt
+ shift
+ FSSIZE=4320
+ shift
+ FSPROTO=/R/stage/mfsfd
+ shift
+ FSINODE=8000
+ shift
+ FSLABEL=minimum3
+ shift
+ [ 4320 -eq 0 -a minimum3 = auto ]
+ rm -f /R/stage/mfsroot/mfsroot
+ dd of=/R/stage/mfsroot/mfsroot if=/dev/zero count=4320 bs=1k
+ uname -r
+ [ -f /R/stage/trees/base/boot/boot ]
+ BOOT=-B -b /R/stage/trees/base/boot/boot
+ dofs_md
+ [ x != x ]
+ mdconfig -a -t vnode -f /R/stage/mfsroot/mfsroot
+ MDDEVICE=md1
+ [ ! -c /dev/md1 ]
+ echo No /dev/md1
No /dev/md1
+ exit 1
*** Error code 1

Stop in /usr/src/release.

>Fix:

Adding a short pause after creating the md node for mfsroot
solved the problem for my environment.

--- src/release/scripts/doFS.sh.orig        Thu Jul  1 03:47:59 2004
+++ src/release/scripts/doFS.sh     Thu Jul  1 03:48:21 2004
@@ -64,6 +64,7 @@
        fi

        MDDEVICE=`mdconfig -a -t vnode -f ${FSIMG}`
+       sleep 1
        if [ ! -c /dev/${MDDEVICE} ] ; then
                echo "No /dev/$MDDEVICE" 1>&2
                exit 1
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: linimon 
State-Changed-When: Fri Sep 24 05:23:22 GMT 2004 
State-Changed-Why:  
The problem has been fixed in 5.x and -HEAD.  Initially a sleep was 
indeed added, however, it was removed in version 1.60 with the 
annotation that the underlying problem had since been fixed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=68528 
>Unformatted:
