1185029Spjd#!/bin/sh
2185029Spjd# $FreeBSD$
3185029Spjd
4185029Spjddir=`dirname $0`
5185029Spjd. ${dir}/../../misc.sh
6185029Spjd
7185029Spjdecho "1..115"
8185029Spjd
9185029Spjddisks_create 6
10185029Spjdnames_create 1
11185029Spjd
12185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
13185029Spjdexpect_ok ${ZPOOL} export ${name0}
14185029Spjddname0=${disk0}
15185029Spjdfdname0=${fdisk0}
16185029Spjdguid0=`get_guid ${fdisk0}`
17185029Spjddisk_destroy 0
18185029Spjddisk_create 0 ${dname0}
19185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
20185029Spjdexp=`(
21185029Spjd  echo "  pool: ${name0}"
22185029Spjd  echo " state: DEGRADED"
23185029Spjd  echo "status: One or more devices could not be used because the label is missing or"
24185029Spjd  echo "      invalid.  Sufficient replicas exist for the pool to continue"
25185029Spjd  echo "      functioning in a degraded state."
26185029Spjd  echo "action: Replace the device using 'zpool replace'."
27185029Spjd  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
28185029Spjd  echo " scrub: none requested"
29185029Spjd  echo "config:"
30185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
31185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
32185029Spjd  echo "	  raidz2      DEGRADED     0     0     0"
33185029Spjd  echo "	    ${guid0}  UNAVAIL      0     0     0  was ${fdname0}"
34185029Spjd  echo "	    ${disk1}  ONLINE       0     0     0"
35185029Spjd  echo "	    ${disk2}  ONLINE       0     0     0"
36185029Spjd  echo "	    ${disk3}  ONLINE       0     0     0"
37185029Spjd  echo "errors: No known data errors"
38185029Spjd)`
39185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
40185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
41185029Spjdwait_for_resilver ${name0}
42185029Spjdexp=`(
43185029Spjd  echo "  pool: ${name0}"
44185029Spjd  echo " state: ONLINE"
45185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
46185029Spjd  echo "config:"
47185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
48185029Spjd  echo "	${name0}      ONLINE     0     0     0"
49185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
50185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
51185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
52185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
53185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
54185029Spjd  echo "errors: No known data errors"
55185029Spjd)`
56185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
57185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
58185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
59185029Spjd
60185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
61185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk4}
62185029Spjdwait_for_resilver ${name0}
63185029Spjdexp=`(
64185029Spjd  echo "  pool: ${name0}"
65185029Spjd  echo " state: ONLINE"
66185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
67185029Spjd  echo "config:"
68185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
69185029Spjd  echo "	${name0}      ONLINE     0     0     0"
70185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
71185029Spjd  echo "	    ${disk0}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
72185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
73185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
74185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
75185029Spjd  echo "errors: No known data errors"
76185029Spjd)`
77185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
78185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
79185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
80185029Spjd
81185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
82185029Spjdexpect_ok ${ZPOOL} export ${name0}
83185029Spjddname0=${disk0}
84185029Spjdfdname0=${fdisk0}
85185029Spjdguid0=`get_guid ${fdisk0}`
86185029Spjddisk_destroy 0
87185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
88185029Spjdexp=`(
89185029Spjd  echo "  pool: ${name0}"
90185029Spjd  echo " state: DEGRADED"
91185029Spjd  echo " scrub: none requested"
92185029Spjd  echo "config:"
93185029Spjd  echo "	NAME           STATE     READ WRITE CKSUM"
94185029Spjd  echo "	${name0}       DEGRADED     0     0     0"
95185029Spjd  echo "	  raidz2       DEGRADED     0     0     0"
96185029Spjd  echo "	    ${guid0}   REMOVED      0     0     0  was ${fdname0}"
97185029Spjd  echo "	    ${disk1}   ONLINE       0     0     0"
98185029Spjd  echo "	    ${disk2}   ONLINE       0     0     0"
99185029Spjd  echo "	    ${disk3}   ONLINE       0     0     0"
100185029Spjd  echo "errors: No known data errors"
101185029Spjd)`
102185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
103185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${dname0} ${disk4}
104185029Spjdwait_for_resilver ${name0}
105185029Spjdexp=`(
106185029Spjd  echo "  pool: ${name0}"
107185029Spjd  echo " state: ONLINE"
108185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
109185029Spjd  echo "config:"
110185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
111185029Spjd  echo "	${name0}      ONLINE     0     0     0"
112185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
113185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
114185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
115185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
116185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
117185029Spjd  echo "errors: No known data errors"
118185029Spjd)`
119185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
120185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
121185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
122185029Spjddisk_create 0 ${dname0}
123185029Spjd
124185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
125185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1}
126185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk4}
127185029Spjdwait_for_resilver ${name0}
128185029Spjdexp=`(
129185029Spjd  echo "  pool: ${name0}"
130185029Spjd  echo " state: ONLINE"
131185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
132185029Spjd  echo "config:"
133185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
134185029Spjd  echo "	${name0}      ONLINE     0     0     0"
135185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
136185029Spjd  echo "	    ${disk0}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
137185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
138185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
139185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
140185029Spjd  echo "errors: No known data errors"
141185029Spjd)`
142185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
143185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
144185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
145185029Spjd
146185029Spjdexpect_ok ${ZPOOL} create ${zpool_f_flag} ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
147185029Spjdexpect_ok ${ZPOOL} export ${name0}
148185029Spjddname0=${disk0}
149185029Spjdfdname0=${fdisk0}
150185029Spjdguid0=`get_guid ${fdisk0}`
151185029Spjddisk_destroy 0
152185029Spjddisk_create 0 ${dname0}
153185029Spjddname1=${disk1}
154185029Spjdfdname1=${fdisk1}
155185029Spjdguid1=`get_guid ${fdisk1}`
156185029Spjddisk_destroy 1
157185029Spjddisk_create 1 ${dname1}
158185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
159185029Spjdexp=`(
160185029Spjd  echo "  pool: ${name0}"
161185029Spjd  echo " state: DEGRADED"
162185029Spjd  echo "status: One or more devices could not be used because the label is missing or"
163185029Spjd  echo "      invalid.  Sufficient replicas exist for the pool to continue"
164185029Spjd  echo "      functioning in a degraded state."
165185029Spjd  echo "action: Replace the device using 'zpool replace'."
166185029Spjd  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
167185029Spjd  echo " scrub: none requested"
168185029Spjd  echo "config:"
169185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
170185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
171185029Spjd  echo "	  raidz2      DEGRADED     0     0     0"
172185029Spjd  echo "	    ${guid0}  UNAVAIL      0     0     0  was ${fdname0}"
173185029Spjd  echo "	    ${guid1}  UNAVAIL      0     0     0  was ${fdname1}"
174185029Spjd  echo "	    ${disk2}  ONLINE       0     0     0"
175185029Spjd  echo "	    ${disk3}  ONLINE       0     0     0"
176185029Spjd  echo "errors: No known data errors"
177185029Spjd)`
178185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
179185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
180185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
181185029Spjdwait_for_resilver ${name0}
182185029Spjdexp=`(
183185029Spjd  echo "  pool: ${name0}"
184185029Spjd  echo " state: ONLINE"
185185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
186185029Spjd  echo "config:"
187185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
188185029Spjd  echo "	${name0}      ONLINE     0     0     0"
189185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
190185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
191185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
192185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
193185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
194185029Spjd  echo "errors: No known data errors"
195185029Spjd)`
196185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
197185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
198185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
199185029Spjd
200185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
201185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk4}
202185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk2} ${disk5}
203185029Spjdwait_for_resilver ${name0}
204185029Spjdexp=`(
205185029Spjd  echo "  pool: ${name0}"
206185029Spjd  echo " state: ONLINE"
207185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
208185029Spjd  echo "config:"
209185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
210185029Spjd  echo "	${name0}      ONLINE     0     0     0"
211185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
212185029Spjd  echo "	    ${disk0}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
213185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
214185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
215185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
216185029Spjd  echo "errors: No known data errors"
217185029Spjd)`
218185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
219185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
220185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
221185029Spjd
222185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
223185029Spjdexpect_ok ${ZPOOL} export ${name0}
224185029Spjddname0=${disk0}
225185029Spjdfdname0=${fdisk0}
226185029Spjdguid0=`get_guid ${fdisk0}`
227185029Spjddisk_destroy 0
228185029Spjddname1=${disk1}
229185029Spjdfdname1=${fdisk1}
230185029Spjdguid1=`get_guid ${fdisk1}`
231185029Spjddisk_destroy 1
232185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
233185029Spjdexp=`(
234185029Spjd  echo "  pool: ${name0}"
235185029Spjd  echo " state: DEGRADED"
236185029Spjd  echo " scrub: none requested"
237185029Spjd  echo "config:"
238185029Spjd  echo "	NAME           STATE     READ WRITE CKSUM"
239185029Spjd  echo "	${name0}       DEGRADED     0     0     0"
240185029Spjd  echo "	  raidz2       DEGRADED     0     0     0"
241185029Spjd  echo "	    ${guid0}   REMOVED      0     0     0  was ${fdname0}"
242185029Spjd  echo "	    ${guid1}   REMOVED      0     0     0  was ${fdname1}"
243185029Spjd  echo "	    ${disk2}   ONLINE       0     0     0"
244185029Spjd  echo "	    ${disk3}   ONLINE       0     0     0"
245185029Spjd  echo "errors: No known data errors"
246185029Spjd)`
247185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
248185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${dname0} ${disk4}
249185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${dname1} ${disk5}
250185029Spjdwait_for_resilver ${name0}
251185029Spjdexp=`(
252185029Spjd  echo "  pool: ${name0}"
253185029Spjd  echo " state: ONLINE"
254185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
255185029Spjd  echo "config:"
256185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
257185029Spjd  echo "	${name0}      ONLINE     0     0     0"
258185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
259185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
260185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
261185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
262185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
263185029Spjd  echo "errors: No known data errors"
264185029Spjd)`
265185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
266185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
267185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
268185029Spjddisk_create 0 ${dname0}
269185029Spjddisk_create 1 ${dname1}
270185029Spjd
271185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
272185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
273185029Spjdadd_msg="# TODO Sun CR 6328632, Lustre bug 16878"
274185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1}
275185029Spjdexp=`(
276185029Spjd  echo "  pool: ${name0}"
277185029Spjd  echo " state: DEGRADED"
278185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
279185029Spjd  echo "      Sufficient replicas exist for the pool to continue functioning in a"
280185029Spjd  echo "      degraded state."
281185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
282185029Spjd  echo "      'zpool replace'."
283185029Spjd  echo " scrub: none requested"
284185029Spjd  echo "config:"
285185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
286185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
287185029Spjd  echo "	  raidz2      DEGRADED     0     0     0"
288185029Spjd  echo "	    ${disk0}  OFFLINE      0     0     0"
289185029Spjd  echo "	    ${disk1}  OFFLINE      0     0     0"
290185029Spjd  echo "	    ${disk2}  ONLINE       0     0     0"
291185029Spjd  echo "	    ${disk3}  ONLINE       0     0     0"
292185029Spjd  echo "errors: No known data errors"
293185029Spjd)`
294185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
295185029Spjdadd_msg=""
296185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
297185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
298185029Spjdwait_for_resilver ${name0}
299185029Spjdexp=`(
300185029Spjd  echo "  pool: ${name0}"
301185029Spjd  echo " state: ONLINE"
302185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
303185029Spjd  echo "config:"
304185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
305185029Spjd  echo "	${name0}      ONLINE     0     0     0"
306185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
307185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
308185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
309185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
310185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
311185029Spjd  echo "errors: No known data errors"
312185029Spjd)`
313185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
314185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
315185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
316185029Spjd
317185029Spjdexpect_ok ${ZPOOL} create ${zpool_f_flag} ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
318185029Spjdexpect_ok ${ZPOOL} export ${name0}
319185029Spjddname0=${disk0}
320185029Spjdfdname0=${fdisk0}
321185029Spjdguid0=`get_guid ${fdisk0}`
322185029Spjddisk_destroy 0
323185029Spjddisk_create 0 ${dname0}
324185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
325185029Spjdexp=`(
326185029Spjd  echo "  pool: ${name0}"
327185029Spjd  echo " state: DEGRADED"
328185029Spjd  echo "status: One or more devices could not be used because the label is missing or"
329185029Spjd  echo "      invalid.  Sufficient replicas exist for the pool to continue"
330185029Spjd  echo "      functioning in a degraded state."
331185029Spjd  echo "action: Replace the device using 'zpool replace'."
332185029Spjd  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
333185029Spjd  echo " scrub: none requested"
334185029Spjd  echo "config:"
335185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
336185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
337185029Spjd  echo "	  raidz2      DEGRADED     0     0     0"
338185029Spjd  echo "	    ${guid0}  UNAVAIL      0     0     0  was ${fdname0}"
339185029Spjd  echo "	    ${disk1}  ONLINE       0     0     0"
340185029Spjd  echo "	    ${disk2}  ONLINE       0     0     0"
341185029Spjd  echo "	    ${disk3}  ONLINE       0     0     0"
342185029Spjd  echo "errors: No known data errors"
343185029Spjd)`
344185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
345185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
346185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
347185029Spjdwait_for_resilver ${name0}
348185029Spjdexp=`(
349185029Spjd  echo "  pool: ${name0}"
350185029Spjd  echo " state: ONLINE"
351185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
352185029Spjd  echo "config:"
353185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
354185029Spjd  echo "	${name0}      ONLINE     0     0     0"
355185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
356185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
357185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
358185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
359185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
360185029Spjd  echo "errors: No known data errors"
361185029Spjd)`
362185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
363185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
364185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
365185029Spjd
366185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
367185029Spjdexpect_ok ${ZPOOL} export ${name0}
368185029Spjddname0=${disk0}
369185029Spjdfdname0=${fdisk0}
370185029Spjdguid0=`get_guid ${fdisk0}`
371185029Spjddisk_destroy 0
372185029Spjddisk_create 0 ${dname0}
373185029Spjddname1=${disk1}
374185029Spjdfdname1=${fdisk1}
375185029Spjdguid1=`get_guid ${fdisk1}`
376185029Spjddisk_destroy 1
377185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
378185029Spjdexp=`(
379185029Spjd  echo "  pool: ${name0}"
380185029Spjd  echo " state: DEGRADED"
381185029Spjd  echo "status: One or more devices could not be used because the label is missing or"
382185029Spjd  echo "      invalid.  Sufficient replicas exist for the pool to continue"
383185029Spjd  echo "      functioning in a degraded state."
384185029Spjd  echo "action: Replace the device using 'zpool replace'."
385185029Spjd  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
386185029Spjd  echo " scrub: none requested"
387185029Spjd  echo "config:"
388185029Spjd  echo "	NAME           STATE     READ WRITE CKSUM"
389185029Spjd  echo "	${name0}       DEGRADED     0     0     0"
390185029Spjd  echo "	  raidz2       DEGRADED     0     0     0"
391185029Spjd  echo "	    ${guid0}   UNAVAIL      0     0     0  was ${fdname0}"
392185029Spjd  echo "	    ${guid1}   REMOVED      0     0     0  was ${fdname1}"
393185029Spjd  echo "	    ${disk2}   ONLINE       0     0     0"
394185029Spjd  echo "	    ${disk3}   ONLINE       0     0     0"
395185029Spjd  echo "errors: No known data errors"
396185029Spjd)`
397185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
398185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
399185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${dname1} ${disk5}
400185029Spjdwait_for_resilver ${name0}
401185029Spjdexp=`(
402185029Spjd  echo "  pool: ${name0}"
403185029Spjd  echo " state: ONLINE"
404185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
405185029Spjd  echo "config:"
406185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
407185029Spjd  echo "	${name0}      ONLINE     0     0     0"
408185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
409185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
410185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
411185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
412185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
413185029Spjd  echo "errors: No known data errors"
414185029Spjd)`
415185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
416185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
417185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
418185029Spjddisk_create 1 ${dname1}
419185029Spjd
420185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
421185029Spjdexpect_ok ${ZPOOL} export ${name0}
422185029Spjddname0=${disk0}
423185029Spjdfdname0=${fdisk0}
424185029Spjdguid0=`get_guid ${fdisk0}`
425185029Spjddisk_destroy 0
426185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
427185029Spjdexp=`(
428185029Spjd  echo "  pool: ${name0}"
429185029Spjd  echo " state: DEGRADED"
430185029Spjd  echo " scrub: none requested"
431185029Spjd  echo "config:"
432185029Spjd  echo "	NAME           STATE     READ WRITE CKSUM"
433185029Spjd  echo "	${name0}       DEGRADED     0     0     0"
434185029Spjd  echo "	  raidz2       DEGRADED     0     0     0"
435185029Spjd  echo "	    ${guid0}   REMOVED      0     0     0  was ${fdname0}"
436185029Spjd  echo "	    ${disk1}   ONLINE       0     0     0"
437185029Spjd  echo "	    ${disk2}   ONLINE       0     0     0"
438185029Spjd  echo "	    ${disk3}   ONLINE       0     0     0"
439185029Spjd  echo "errors: No known data errors"
440185029Spjd)`
441185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
442185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${dname0} ${disk4}
443185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
444185029Spjdwait_for_resilver ${name0}
445185029Spjdexp=`(
446185029Spjd  echo "  pool: ${name0}"
447185029Spjd  echo " state: ONLINE"
448185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
449185029Spjd  echo "config:"
450185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
451185029Spjd  echo "	${name0}      ONLINE     0     0     0"
452185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
453185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
454185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
455185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
456185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
457185029Spjd  echo "errors: No known data errors"
458185029Spjd)`
459185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
460185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
461185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
462185029Spjddisk_create 0 ${dname0}
463185029Spjd
464185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
465185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
466185029Spjdexp=`(
467185029Spjd  echo "  pool: ${name0}"
468185029Spjd  echo " state: DEGRADED"
469185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
470185029Spjd  echo "      Sufficient replicas exist for the pool to continue functioning in a"
471185029Spjd  echo "      degraded state."
472185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
473185029Spjd  echo "      'zpool replace'."
474185029Spjd  echo " scrub: none requested"
475185029Spjd  echo "config:"
476185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
477185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
478185029Spjd  echo "	  raidz2      DEGRADED     0     0     0"
479185029Spjd  echo "	    ${disk0}  OFFLINE      0     0     0"
480185029Spjd  echo "	    ${disk1}  ONLINE       0     0     0"
481185029Spjd  echo "	    ${disk2}  ONLINE       0     0     0"
482185029Spjd  echo "	    ${disk3}  ONLINE       0     0     0"
483185029Spjd  echo "errors: No known data errors"
484185029Spjd)`
485185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
486185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
487185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
488185029Spjdwait_for_resilver ${name0}
489185029Spjdexp=`(
490185029Spjd  echo "  pool: ${name0}"
491185029Spjd  echo " state: ONLINE"
492185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
493185029Spjd  echo "config:"
494185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
495185029Spjd  echo "	${name0}      ONLINE     0     0     0"
496185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
497185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
498185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
499185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
500185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
501185029Spjd  echo "errors: No known data errors"
502185029Spjd)`
503185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
504185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
505185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
506185029Spjd
507185029Spjdexpect_ok ${ZPOOL} create ${zpool_f_flag} ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
508185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
509185029Spjdexpect_ok ${ZPOOL} export ${name0}
510185029Spjddname1=${disk1}
511185029Spjdfdname1=${fdisk1}
512185029Spjdguid1=`get_guid ${fdisk1}`
513185029Spjddisk_destroy 1
514185029Spjddisk_create 1 ${dname1}
515185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
516185029Spjdexp=`(
517185029Spjd  echo "  pool: ${name0}"
518185029Spjd  echo " state: DEGRADED"
519185029Spjd  echo "status: One or more devices could not be used because the label is missing or"
520185029Spjd  echo "      invalid.  Sufficient replicas exist for the pool to continue"
521185029Spjd  echo "      functioning in a degraded state."
522185029Spjd  echo "action: Replace the device using 'zpool replace'."
523185029Spjd  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
524185029Spjd  echo " scrub: none requested"
525185029Spjd  echo "config:"
526185029Spjd  echo "	NAME          STATE     READ WRITE CKSUM"
527185029Spjd  echo "	${name0}      DEGRADED     0     0     0"
528185029Spjd  echo "	  raidz2      DEGRADED     0     0     0"
529185029Spjd  echo "	    ${disk0}  OFFLINE      0     0     0"
530185029Spjd  echo "	    ${guid1}  UNAVAIL      0     0     0  was ${fdname1}"
531185029Spjd  echo "	    ${disk2}  ONLINE       0     0     0"
532185029Spjd  echo "	    ${disk3}  ONLINE       0     0     0"
533185029Spjd  echo "errors: No known data errors"
534185029Spjd)`
535185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
536185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
537185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
538185029Spjdwait_for_resilver ${name0}
539185029Spjdexp=`(
540185029Spjd  echo "  pool: ${name0}"
541185029Spjd  echo " state: ONLINE"
542185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
543185029Spjd  echo "config:"
544185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
545185029Spjd  echo "	${name0}      ONLINE     0     0     0"
546185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
547185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
548185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
549185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
550185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
551185029Spjd  echo "errors: No known data errors"
552185029Spjd)`
553185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
554185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
555185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
556185029Spjd
557185029Spjdexpect_ok ${ZPOOL} create ${zpool_f_flag} ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
558185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
559185029Spjdexpect_ok ${ZPOOL} export ${name0}
560185029Spjddname1=${disk1}
561185029Spjdfdname1=${fdisk1}
562185029Spjdguid1=`get_guid ${fdisk1}`
563185029Spjddisk_destroy 1
564185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
565185029Spjdexp=`(
566185029Spjd  echo "  pool: ${name0}"
567185029Spjd  echo " state: DEGRADED"
568185029Spjd  echo "status: One or more devices has been taken offline by the administrator."
569185029Spjd  echo "      Sufficient replicas exist for the pool to continue functioning in a"
570185029Spjd  echo "      degraded state."
571185029Spjd  echo "action: Online the device using 'zpool online' or replace the device with"
572185029Spjd  echo "      'zpool replace'."
573185029Spjd  echo " scrub: none requested"
574185029Spjd  echo "config:"
575185029Spjd  echo "	NAME           STATE     READ WRITE CKSUM"
576185029Spjd  echo "	${name0}       DEGRADED     0     0     0"
577185029Spjd  echo "	  raidz2       DEGRADED     0     0     0"
578185029Spjd  echo "	    ${disk0}   OFFLINE      0     0     0"
579185029Spjd  echo "	    ${guid1}   REMOVED      0     0     0  was ${fdname1}"
580185029Spjd  echo "	    ${disk2}   ONLINE       0     0     0"
581185029Spjd  echo "	    ${disk3}   ONLINE       0     0     0"
582185029Spjd  echo "errors: No known data errors"
583185029Spjd)`
584185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
585185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
586185029Spjdexpect_ok ${ZPOOL} replace ${name0} ${dname1} ${disk5}
587185029Spjdwait_for_resilver ${name0}
588185029Spjdexp=`(
589185029Spjd  echo "  pool: ${name0}"
590185029Spjd  echo " state: ONLINE"
591185029Spjd  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
592185029Spjd  echo "config:"
593185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
594185029Spjd  echo "	${name0}      ONLINE     0     0     0"
595185029Spjd  echo "	  raidz2      ONLINE     0     0     0"
596185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
597185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
598185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
599185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
600185029Spjd  echo "errors: No known data errors"
601185029Spjd)`
602185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
603185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
604185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
605185029Spjddisk_create 1 ${dname1}
606185029Spjd
607185029Spjddisks_destroy
608