1148459Spjd#!/bin/sh
2148459Spjd# $FreeBSD: releng/10.2/tools/regression/geom_eli/kill.t 182452 2008-08-29 18:10:18Z pjd $
3148459Spjd
4148459Spjdbase=`basename $0`
5148459Spjdno=45
6148459Spjdsectors=100
7148459Spjdkeyfile1=`mktemp /tmp/$base.XXXXXX` || exit 1
8148459Spjdkeyfile2=`mktemp /tmp/$base.XXXXXX` || exit 1
9148459Spjdmdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1
10148459Spjd
11148459Spjdecho "1..9"
12148459Spjd
13148459Spjddd if=/dev/random of=${keyfile1} bs=512 count=16 >/dev/null 2>&1
14148459Spjddd if=/dev/random of=${keyfile2} bs=512 count=16 >/dev/null 2>&1
15148459Spjd
16182452Spjdgeli init -B none -P -K $keyfile1 md${no}
17148459Spjdgeli attach -p -k $keyfile1 md${no}
18148459Spjdgeli setkey -n 1 -P -K $keyfile2 md${no}
19148459Spjd
20148459Spjd# Kill attached provider.
21148459Spjdgeli kill md${no}
22148459Spjdif [ $? -eq 0 ]; then
23148459Spjd	echo "ok 1"
24148459Spjdelse
25148459Spjd	echo "not ok 1"
26148459Spjdfi
27148459Spjdsleep 1
28148459Spjd# Provider should be automatically detached.
29148459Spjdif [ ! -c /dev/md{$no}.eli ]; then
30148459Spjd	echo "ok 2"
31148459Spjdelse
32148459Spjd	echo "not ok 2"
33148459Spjdfi
34148459Spjd
35148459Spjd# We cannot use keyfile1 anymore.
36148459Spjdgeli attach -p -k $keyfile1 md${no} 2>/dev/null
37148459Spjdif [ $? -ne 0 ]; then
38148459Spjd	echo "ok 3"
39148459Spjdelse
40148459Spjd	echo "not ok 3"
41148459Spjdfi
42148459Spjd
43148459Spjd# We cannot use keyfile2 anymore.
44148459Spjdgeli attach -p -k $keyfile2 md${no} 2>/dev/null
45148459Spjdif [ $? -ne 0 ]; then
46148459Spjd	echo "ok 4"
47148459Spjdelse
48148459Spjd	echo "not ok 4"
49148459Spjdfi
50148459Spjd
51182452Spjdgeli init -B none -P -K $keyfile1 md${no}
52148459Spjdgeli setkey -n 1 -p -k $keyfile1 -P -K $keyfile2 md${no}
53148459Spjd
54148459Spjd# Should be possible to attach with keyfile1.
55148459Spjdgeli attach -p -k $keyfile1 md${no}
56148459Spjdif [ $? -eq 0 ]; then
57148459Spjd	echo "ok 5"
58148459Spjdelse
59148459Spjd	echo "not ok 5"
60148459Spjdfi
61148459Spjdgeli detach md${no}
62148459Spjd
63148459Spjd# Should be possible to attach with keyfile2.
64148459Spjdgeli attach -p -k $keyfile2 md${no}
65148459Spjdif [ $? -eq 0 ]; then
66148459Spjd	echo "ok 6"
67148459Spjdelse
68148459Spjd	echo "not ok 6"
69148459Spjdfi
70148459Spjdgeli detach md${no}
71148459Spjd
72148459Spjd# Kill detached provider.
73148459Spjdgeli kill md${no}
74148459Spjdif [ $? -eq 0 ]; then
75148459Spjd	echo "ok 7"
76148459Spjdelse
77148459Spjd	echo "not ok 7"
78148459Spjdfi
79148459Spjd
80148459Spjd# We cannot use keyfile1 anymore.
81148459Spjdgeli attach -p -k $keyfile1 md${no} 2>/dev/null
82148459Spjdif [ $? -ne 0 ]; then
83148459Spjd	echo "ok 8"
84148459Spjdelse
85148459Spjd	echo "not ok 8"
86148459Spjdfi
87148459Spjd
88148459Spjd# We cannot use keyfile2 anymore.
89148459Spjdgeli attach -p -k $keyfile2 md${no} 2>/dev/null
90148459Spjdif [ $? -ne 0 ]; then
91148459Spjd	echo "ok 9"
92148459Spjdelse
93148459Spjd	echo "not ok 9"
94148459Spjdfi
95148459Spjd
96148459Spjdmdconfig -d -u $no
97148459Spjdrm -f $keyfile1 $keyfile2
98