From e99d38fece36bd3627fde18c37f9e1ca80c1b933 Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Wed, 28 Jan 2004 22:44:17 +0000 Subject: - Removed more bitrot (the "while" loops). - Factored out common parts of dofs_vn() and dofs_md(). --- release/scripts/doFS.sh | 82 +++++++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 54 deletions(-) (limited to 'release') diff --git a/release/scripts/doFS.sh b/release/scripts/doFS.sh index 246c59c0a454..b61c7edf4b75 100644 --- a/release/scripts/doFS.sh +++ b/release/scripts/doFS.sh @@ -30,28 +30,22 @@ if [ ${FSSIZE} -eq 0 -a ${FSLABEL} = "auto" ]; then fi dofs_vn () { - if [ "x$VNDEVICE" = "x" ] ; then - VNDEVICE=vn0 - fi - u=`expr $VNDEVICE : 'vn\([0-9]*\)' || true` - VNDEVICE=vnn$u - - rm -f /dev/*vnn* - mknod /dev/rvnn${u} c 43 `expr 65538 + $u '*' 8` - mknod /dev/rvnn${u}c c 43 `expr 2 + $u '*' 8` - mknod /dev/vnn${u} b 15 `expr 65538 + $u '*' 8` - mknod /dev/vnn${u}c b 15 `expr 2 + $u '*' 8` - - while true - do - rm -f ${FSIMG} + if [ "x$VNDEVICE" = "x" ] ; then + VNDEVICE=vn0 + fi + u=`expr $VNDEVICE : 'vn\([0-9]*\)' || true` + VNDEVICE=vnn$u + + rm -f /dev/*vnn* + mknod /dev/rvnn${u} c 43 `expr 65538 + $u '*' 8` + mknod /dev/rvnn${u}c c 43 `expr 2 + $u '*' 8` + mknod /dev/vnn${u} b 15 `expr 65538 + $u '*' 8` + mknod /dev/vnn${u}c b 15 `expr 2 + $u '*' 8` umount /dev/${VNDEVICE} 2>/dev/null || true umount ${MNT} 2>/dev/null || true vnconfig -u /dev/r${VNDEVICE} 2>/dev/null || true - dd of=${FSIMG} if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null - vnconfig -s labels -c /dev/r${VNDEVICE} ${FSIMG} trap "umount ${MNT}; vnconfig -u /dev/r${VNDEVICE}; rm -f /dev/*vnn*" EXIT @@ -60,36 +54,15 @@ dofs_vn () { newfs -i ${FSINODE} -o space -m 0 /dev/r${VNDEVICE}c mount /dev/${VNDEVICE}c ${MNT} - - if [ -d ${FSPROTO} ]; then - (set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT}) - else - cp -p ${FSPROTO} ${MNT} - fi - - df -ki ${MNT} - - set `df -ki ${MNT} | tail -1` - - echo "*** Filesystem is ${FSSIZE} K, $4 left" - echo "*** ${FSINODE} bytes/inode, $7 left" - break; - done } dofs_md () { - while true - do - rm -f ${FSIMG} - if [ "x${MDDEVICE}" != "x" ] ; then umount /dev/${MDDEVICE} 2>/dev/null || true umount ${MNT} 2>/dev/null || true mdconfig -d -u ${MDDEVICE} 2>/dev/null || true fi - dd of=${FSIMG} if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null - MDDEVICE=`mdconfig -a -t vnode -f ${FSIMG}` if [ ! -c /dev/${MDDEVICE} ] ; then echo "No /dev/$MDDEVICE" 1>&2 @@ -102,30 +75,18 @@ dofs_md () { newfs -O1 -i ${FSINODE} -o space -m 0 /dev/${MDDEVICE}c mount /dev/${MDDEVICE}c ${MNT} - - if [ -d ${FSPROTO} ]; then - (set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT}) - else - cp -p ${FSPROTO} ${MNT} - fi - - df -ki ${MNT} - - set `df -ki ${MNT} | tail -1` - - echo "*** Filesystem is ${FSSIZE} K, $4 left" - echo "*** ${FSINODE} bytes/inode, $7 left" - break; - done } +rm -f ${FSIMG} +dd of=${FSIMG} if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null + # # We don't have any bootblocks on ia64. Note that -B implies -r, # so we have to specifically specify -r when we don't have -B. # bsdlabel fails otherwise. # case `uname -r` in -[1-4].*) +4.*) if [ -f "${RD}/trees/base/boot/boot1" ]; then BOOT="-B -b ${RD}/trees/base/boot/boot1" if [ -f "${RD}/trees/base/boot/boot2" ]; then @@ -145,3 +106,16 @@ case `uname -r` in dofs_md ;; esac + +if [ -d ${FSPROTO} ]; then + (set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT}) +else + cp -p ${FSPROTO} ${MNT} +fi + +df -ki ${MNT} + +set `df -ki ${MNT} | tail -1` + +echo "*** File system is ${FSSIZE} K, $4 left" +echo "*** ${FSINODE} bytes/inode, $7 left" -- cgit v1.2.3