1185029Spjd#!/bin/sh
2185029Spjd# $FreeBSD: releng/11.0/tools/regression/zfs/zpool/offline/raidz1.t 185029 2008-11-17 20:49:29Z pjd $
3185029Spjd
4185029Spjddir=`dirname $0`
5185029Spjd. ${dir}/../../misc.sh
6185029Spjd
7185029Spjdecho "1..35"
8185029Spjd
9185029Spjddisks_create 5
10185029Spjdnames_create 1
11185029Spjd
12185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1}
13185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
14185029Spjdexp=`(
15185029Spjd  echo "  pool: ${name0}"
16185029Spjd  echo " state: DEGRADED"
17185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
18185029Spjd  echo "        Sufficient replicas exist for the pool to continue functioning in a"
19185029Spjd  echo "        degraded state."
20185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
21185029Spjd  echo "        'zpool replace'."
22185029Spjd  echo " scrub: none requested"
23185029Spjd  echo "config:"
24185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
25185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
26185029Spjd  echo "	  raidz1      DEGRADED     0     0     0"
27185029Spjd  echo "	    ${disk0}  OFFLINE      0     0     0"
28185029Spjd  echo "	    ${disk1}  ONLINE       0     0     0"
29185029Spjd  echo "errors: No known data errors"
30185029Spjd)`
31185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
32185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
33185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
34185029Spjd
35185029Spjdexpect_ok ${ZPOOL} create -f ${name0} raidz1 ${disk0} ${disk1}
36185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1}
37185029Spjdexp=`(
38185029Spjd  echo "  pool: ${name0}"
39185029Spjd  echo " state: DEGRADED"
40185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
41185029Spjd  echo "        Sufficient replicas exist for the pool to continue functioning in a"
42185029Spjd  echo "        degraded state."
43185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
44185029Spjd  echo "        'zpool replace'."
45185029Spjd  echo " scrub: none requested"
46185029Spjd  echo "config:"
47185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
48185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
49185029Spjd  echo "	  raidz1      DEGRADED     0     0     0"
50185029Spjd  echo "	    ${disk0}  ONLINE       0     0     0"
51185029Spjd  echo "	    ${disk1}  OFFLINE      0     0     0"
52185029Spjd  echo "errors: No known data errors"
53185029Spjd)`
54185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
55185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
56185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
57185029Spjd
58185029Spjdexpect_ok ${ZPOOL} create -f ${name0} raidz1 ${disk0} ${disk1}
59185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
60185029Spjdexpect_fl ${ZPOOL} offline ${name0} ${disk1}
61185029Spjdexp=`(
62185029Spjd  echo "  pool: ${name0}"
63185029Spjd  echo " state: DEGRADED"
64185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
65185029Spjd  echo "        Sufficient replicas exist for the pool to continue functioning in a"
66185029Spjd  echo "        degraded state."
67185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
68185029Spjd  echo "        'zpool replace'."
69185029Spjd  echo " scrub: none requested"
70185029Spjd  echo "config:"
71185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
72185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
73185029Spjd  echo "	  raidz1      DEGRADED     0     0     0"
74185029Spjd  echo "	    ${disk0}  OFFLINE      0     0     0"
75185029Spjd  echo "	    ${disk1}  ONLINE       0     0     0"
76185029Spjd  echo "errors: No known data errors"
77185029Spjd)`
78185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
79185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
80185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
81185029Spjd
82185029Spjdexpect_ok ${ZPOOL} create -f ${name0} raidz1 ${disk0} ${disk1} raidz1 ${disk2} ${disk3}
83185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
84185029Spjdexp=`(
85185029Spjd  echo "  pool: ${name0}"
86185029Spjd  echo " state: DEGRADED"
87185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
88185029Spjd  echo "        Sufficient replicas exist for the pool to continue functioning in a"
89185029Spjd  echo "        degraded state."
90185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
91185029Spjd  echo "        'zpool replace'."
92185029Spjd  echo " scrub: none requested"
93185029Spjd  echo "config:"
94185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
95185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
96185029Spjd  echo "	  raidz1      DEGRADED     0     0     0"
97185029Spjd  echo "	    ${disk0}  OFFLINE      0     0     0"
98185029Spjd  echo "	    ${disk1}  ONLINE       0     0     0"
99185029Spjd  echo "	  raidz1      ONLINE       0     0     0"
100185029Spjd  echo "	    ${disk2}  ONLINE       0     0     0"
101185029Spjd  echo "	    ${disk3}  ONLINE       0     0     0"
102185029Spjd  echo "errors: No known data errors"
103185029Spjd)`
104185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk3}
105185029Spjdexpect_fl ${ZPOOL} offline ${name0} ${disk1}
106185029Spjdexpect_fl ${ZPOOL} offline ${name0} ${disk2}
107185029Spjdexp=`(
108185029Spjd  echo "  pool: ${name0}"
109185029Spjd  echo " state: DEGRADED"
110185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
111185029Spjd  echo "        Sufficient replicas exist for the pool to continue functioning in a"
112185029Spjd  echo "        degraded state."
113185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
114185029Spjd  echo "        'zpool replace'."
115185029Spjd  echo " scrub: none requested"
116185029Spjd  echo "config:"
117185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
118185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
119185029Spjd  echo "	  raidz1      DEGRADED     0     0     0"
120185029Spjd  echo "	    ${disk0}  OFFLINE      0     0     0"
121185029Spjd  echo "	    ${disk1}  ONLINE       0     0     0"
122185029Spjd  echo "	  raidz1      DEGRADED     0     0     0"
123185029Spjd  echo "	    ${disk2}  ONLINE       0     0     0"
124185029Spjd  echo "	    ${disk3}  OFFLINE      0     0     0"
125185029Spjd  echo "errors: No known data errors"
126185029Spjd)`
127185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
128185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
129185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
130185029Spjd
131185029Spjdexpect_ok ${ZPOOL} create -f ${name0} raidz1 ${disk0} ${disk1} raidz1 ${disk2} ${disk3}
132185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1} ${disk2}
133185029Spjdexp=`(
134185029Spjd  echo "  pool: ${name0}"
135185029Spjd  echo " state: DEGRADED"
136185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
137185029Spjd  echo "        Sufficient replicas exist for the pool to continue functioning in a"
138185029Spjd  echo "        degraded state."
139185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
140185029Spjd  echo "        'zpool replace'."
141185029Spjd  echo " scrub: none requested"
142185029Spjd  echo "config:"
143185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
144185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
145185029Spjd  echo "	  raidz1      DEGRADED     0     0     0"
146185029Spjd  echo "	    ${disk0}  ONLINE       0     0     0"
147185029Spjd  echo "	    ${disk1}  OFFLINE      0     0     0"
148185029Spjd  echo "	  raidz1      DEGRADED     0     0     0"
149185029Spjd  echo "	    ${disk2}  OFFLINE      0     0     0"
150185029Spjd  echo "	    ${disk3}  ONLINE       0     0     0"
151185029Spjd  echo "errors: No known data errors"
152185029Spjd)`
153185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
154185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
155185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
156185029Spjd
157185029Spjdexpect_ok ${ZPOOL} create -f ${name0} raidz1 ${disk0} ${disk1} ${disk2} ${disk3} ${disk4}
158185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1}
159185029Spjdexpect_fl ${ZPOOL} offline ${name0} ${disk3}
160185029Spjdexp=`(
161185029Spjd  echo "  pool: ${name0}"
162185029Spjd  echo " state: DEGRADED"
163185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
164185029Spjd  echo "        Sufficient replicas exist for the pool to continue functioning in a"
165185029Spjd  echo "        degraded state."
166185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
167185029Spjd  echo "        'zpool replace'."
168185029Spjd  echo " scrub: none requested"
169185029Spjd  echo "config:"
170185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
171185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
172185029Spjd  echo "	  raidz1      DEGRADED     0     0     0"
173185029Spjd  echo "	    ${disk0}  ONLINE       0     0     0"
174185029Spjd  echo "	    ${disk1}  OFFLINE      0     0     0"
175185029Spjd  echo "	    ${disk2}  ONLINE       0     0     0"
176185029Spjd  echo "	    ${disk3}  ONLINE       0     0     0"
177185029Spjd  echo "	    ${disk4}  ONLINE       0     0     0"
178185029Spjd  echo "errors: No known data errors"
179185029Spjd)`
180185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
181185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
182185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
183185029Spjd
184185029Spjddisks_destroy
185