1162432Spjd#!/bin/sh 2162432Spjd# $FreeBSD: releng/11.0/tests/sys/geom/class/eli/readonly_test.sh 293821 2016-01-13 09:14:27Z ngie $ 3162432Spjd 4293436Sngie. $(dirname $0)/conf.sh 5293436Sngie 6162432Spjdbase=`basename $0` 7162432Spjdsectors=100 8293436Sngiekeyfile=`mktemp $base.XXXXXX` || exit 1 9162432Spjdmdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1 10162432Spjd 11162432Spjdecho "1..11" 12162432Spjd 13162432Spjddd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1 14162432Spjd 15182452Spjdgeli init -B none -P -K $keyfile md${no} 16162432Spjdif [ $? -eq 0 ]; then 17162432Spjd echo "ok 1" 18162432Spjdelse 19162432Spjd echo "not ok 1" 20162432Spjdfi 21162432Spjd 22162432Spjdgeli attach -r -p -k $keyfile md${no} 23162432Spjdif [ $? -eq 0 ]; then 24162432Spjd echo "ok 2" 25162432Spjdelse 26162432Spjd echo "not ok 2" 27162432Spjdfi 28162432Spjd 29162432Spjdsh -c "true >/dev/md${no}.eli" 2>/dev/null 30162432Spjdif [ $? -ne 0 ]; then 31162432Spjd echo "ok 3" 32162432Spjdelse 33162432Spjd echo "not ok 3" 34162432Spjdfi 35162432Spjd 36162432Spjdgeli kill md${no} 37162432Spjdif [ $? -eq 0 ]; then 38162432Spjd echo "ok 4" 39162432Spjdelse 40162432Spjd echo "not ok 4" 41162432Spjdfi 42162432Spjd 43162432Spjd# kill should detach provider... 44162432Spjdif [ ! -c /dev/md{$no}.eli ]; then 45162432Spjd echo "ok 5" 46162432Spjdelse 47162432Spjd echo "not ok 5" 48162432Spjdfi 49162432Spjd 50162432Spjd# ...but not destroy the metadata. 51162432Spjdgeli attach -r -p -k $keyfile md${no} 52162432Spjdif [ $? -eq 0 ]; then 53162432Spjd echo "ok 6" 54162432Spjdelse 55162432Spjd echo "not ok 6" 56162432Spjdfi 57162432Spjd 58162432Spjdgeli setkey -n 1 -P -K /dev/null md${no} 2>/dev/null 59162432Spjdif [ $? -ne 0 ]; then 60162432Spjd echo "ok 7" 61162432Spjdelse 62162432Spjd echo "not ok 7" 63162432Spjdfi 64162432Spjd 65162432Spjdgeli delkey -n 0 md${no} 2>/dev/null 66162432Spjdif [ $? -ne 0 ]; then 67162432Spjd echo "ok 8" 68162432Spjdelse 69162432Spjd echo "not ok 8" 70162432Spjdfi 71162432Spjd 72162432Spjdgeli delkey -f -n 0 md${no} 2>/dev/null 73162432Spjdif [ $? -ne 0 ]; then 74162432Spjd echo "ok 9" 75162432Spjdelse 76162432Spjd echo "not ok 9" 77162432Spjdfi 78162432Spjd 79162432Spjdgeli list md${no}.eli | egrep '^Flags: .*READ-ONLY' >/dev/null 80162432Spjdif [ $? -eq 0 ]; then 81162432Spjd echo "ok 10" 82162432Spjdelse 83162432Spjd echo "not ok 10" 84162432Spjdfi 85162432Spjd 86162432Spjdgeli detach md${no} 87162432Spjdif [ $? -eq 0 ]; then 88162432Spjd echo "ok 11" 89162432Spjdelse 90162432Spjd echo "not ok 11" 91162432Spjdfi 92162432Spjd 93162432Spjdmdconfig -d -u $no 94162432Spjdrm -f $keyfile 95