1#!/bin/sh 2 3set -e 4 5MD=99 6mdconfig -d -u $MD > /dev/null 2>&1 || true 7 8mdconfig -a -t malloc -s 1m -u $MD 9 10D=/dev/md$MD 11 12./gbde init $D -P foo -L /tmp/_l1 13./gbde setkey $D -p foo -l /tmp/_l1 -P bar -L /tmp/_l1 14./gbde setkey $D -p bar -l /tmp/_l1 -P foo -L /tmp/_l1 15 16./gbde setkey $D -p foo -l /tmp/_l1 -n 2 -P foo2 -L /tmp/_l2 17./gbde setkey $D -p foo2 -l /tmp/_l2 -n 3 -P foo3 -L /tmp/_l3 18./gbde setkey $D -p foo3 -l /tmp/_l3 -n 4 -P foo4 -L /tmp/_l4 19./gbde setkey $D -p foo4 -l /tmp/_l4 -n 1 -P foo1 -L /tmp/_l1 20 21./gbde nuke $D -p foo1 -l /tmp/_l1 -n 4 22if ./gbde nuke $D -p foo4 -l /tmp/_l4 -n 3 ; then false ; fi 23./gbde destroy $D -p foo2 -l /tmp/_l2 24if ./gbde destroy $D -p foo2 -l /tmp/_l2 ; then false ; fi 25 26./gbde nuke $D -p foo1 -l /tmp/_l1 -n -1 27if ./gbde nuke $D -p foo1 -l /tmp/_l1 -n -1 ; then false ; fi 28if ./gbde nuke $D -p foo2 -l /tmp/_l2 -n -1 ; then false ; fi 29if ./gbde nuke $D -p foo3 -l /tmp/_l3 -n -1 ; then false ; fi 30if ./gbde nuke $D -p foo4 -l /tmp/_l4 -n -1 ; then false ; fi 31 32rm -f /tmp/_l1 /tmp/_l2 /tmp/_l3 /tmp/_l4 33 34./gbde init $D -P foo 35./gbde setkey $D -p foo -P bar 36./gbde setkey $D -p bar -P foo 37 38./gbde setkey $D -p foo -n 2 -P foo2 39./gbde setkey $D -p foo2 -n 3 -P foo3 40./gbde setkey $D -p foo3 -n 4 -P foo4 41./gbde setkey $D -p foo4 -n 1 -P foo1 42 43mdconfig -d -u $MD 44 45mdconfig -a -t malloc -s 1m -u $MD 46if [ -f image.uu ] ; then 47 uudecode -p image.uu | bzcat > $D 48else 49 uudecode -p ${1}/image.uu | bzcat > $D 50fi 51 52if [ `md5 < $D` != "a4066a739338d451b919e63f9ee4a12c" ] ; then 53 echo "Failed to set up md(4) device correctly" 54 exit 2 55fi 56 57./gbde attach $D -p foo 58fsck_ffs ${D}.bde 59./gbde detach $D 60mdconfig -d -u $MD 61 62 63echo "***********" 64echo "Test passed" 65echo "***********" 66exit 0 67