1#!/bin/ksh 2# $OpenBSD: checknewfs,v 1.3 2009/04/26 21:32:31 okan Exp $ 3# Written by Otto Moerbeek, 2007, Public domain 4 5 6cleanup() { 7 vnconfig -u svnd0 8 rm -f $image 9} 10 11trap 'cleanup' INT 12 13dotest() { 14 image=$(mktemp -t imageXXXXXXXXXX); 15 dd if=/dev/prandom of=$image bs=512 count=$1 2>/dev/null && 16 vnconfig svnd0 $image && 17 disklabel -w svnd0 $2 && 18 newfs $3 /dev/rsvnd0a 19 if [ $? != 0 ]; then 20 ret=$(($ret + 1)) 21 echo TEST $1 $2 \"$3\" failed 22 else 23 (fsck -nf /dev/svnd0a | fgrep SALVAGE) 24 if [ $? == 0 ]; then 25 ret=$(($ret + 1)) 26 echo TEST $1 $2 \"$3\" failed 27 else 28 echo TEST $1 $2 \"$3\" OK 29 fi 30 fi 31 echo ========================== 32 if [ $clean == 1 ]; then 33 cleanup 34 fi 35} 36 37ret=0 38 39vnconfig -u svnd0 > /dev/null 2>&1 40if [ $# == 0 ]; then 41 clean=1 42 dotest 3800 rdroot "-m 0 -o space -i 4096" 43 dotest 5760 floppy288 "-m 0 -o space -i 81920 -c 5760" 44 dotest 5760 floppy288 "-m 0 -o space -i 81920 -c 5752" 45 dotest 5760 floppy288 "-m 0 -o space -i 524288 -c 5760" 46 dotest 5760 floppy288 "-m 0 -o space -i 524288 -c 5761" 47 dotest 2880 floppy3 "-m 0 -o space -i 81920" 48 dotest 2880 floppy3 "-m 0 -o space -i 81920 -c 2880" 49 dotest 2880 floppy3 "-m 0 -o space -i 524288 -c 2880" 50else 51 clean=0 52 dotest "${@}" 53fi 54 55exit $ret 56