1185029Spjd#!/bin/sh
2185029Spjd# $FreeBSD$
3185029Spjd
4185029Spjddir=`dirname $0`
5185029Spjd. ${dir}/../../misc.sh
6185029Spjd
7185029Spjdecho "1..263"
8185029Spjd
9185029Spjddisks_create 11
10185029Spjdnames_create 2
11185029Spjd
12185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0}
13185029Spjdexpect_ok ${ZPOOL} export ${name0}
14185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk1}
15185029Spjdexp=`(
16185029Spjd  echo "invalid vdev specification"
17185029Spjd  echo "use '-f' to override the following errors:"
18185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
19185029Spjd)`
20185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} ${disk0}
21185029Spjdexp=`(
22185029Spjd  echo "  pool: ${name1}"
23185029Spjd  echo " state: ONLINE"
24185029Spjd  echo " scrub: none requested"
25185029Spjd  echo "config:"
26185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
27185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
28185029Spjd  echo "          ${disk1}  ONLINE     0     0     0"
29185029Spjd  echo "errors: No known data errors"
30185029Spjd)`
31185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
32185029Spjdexpect_ok ${ZPOOL} add -f ${name1} ${disk0}
33185029Spjdexp=`(
34185029Spjd  echo "  pool: ${name1}"
35185029Spjd  echo " state: ONLINE"
36185029Spjd  echo " scrub: none requested"
37185029Spjd  echo "config:"
38185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
39185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
40185029Spjd  echo "          ${disk1}  ONLINE     0     0     0"
41185029Spjd  echo "          ${disk0}  ONLINE     0     0     0"
42185029Spjd  echo "errors: No known data errors"
43185029Spjd)`
44185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
45185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
46185029Spjd
47185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0}
48185029Spjdexpect_ok ${ZPOOL} export ${name0}
49185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk1}
50185029Spjdexp=`(
51185029Spjd  echo "invalid vdev specification"
52185029Spjd  echo "use '-f' to override the following errors:"
53185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
54185029Spjd)`
55185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} ${disk2} ${disk0}
56185029Spjdexp=`(
57185029Spjd  echo "  pool: ${name1}"
58185029Spjd  echo " state: ONLINE"
59185029Spjd  echo " scrub: none requested"
60185029Spjd  echo "config:"
61185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
62185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
63185029Spjd  echo "          ${disk1}  ONLINE     0     0     0"
64185029Spjd  echo "errors: No known data errors"
65185029Spjd)`
66185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
67185029Spjdexpect_ok ${ZPOOL} add -f ${name1} ${disk2} ${disk0}
68185029Spjdexp=`(
69185029Spjd  echo "  pool: ${name1}"
70185029Spjd  echo " state: ONLINE"
71185029Spjd  echo " scrub: none requested"
72185029Spjd  echo "config:"
73185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
74185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
75185029Spjd  echo "          ${disk1}  ONLINE     0     0     0"
76185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
77185029Spjd  echo "          ${disk0}  ONLINE     0     0     0"
78185029Spjd  echo "errors: No known data errors"
79185029Spjd)`
80185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
81185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
82185029Spjd
83185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
84185029Spjdexpect_ok ${ZPOOL} export ${name0}
85185029Spjdexpect_ok ${ZPOOL} create ${name1} mirror ${disk2} ${disk3}
86185029Spjdexp=`(
87185029Spjd  echo "invalid vdev specification"
88185029Spjd  echo "use '-f' to override the following errors:"
89185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
90185029Spjd)`
91185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} mirror ${disk0} ${disk1}
92185029Spjdexp=`(
93185029Spjd  echo "  pool: ${name1}"
94185029Spjd  echo " state: ONLINE"
95185029Spjd  echo " scrub: none requested"
96185029Spjd  echo "config:"
97185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
98185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
99185029Spjd  echo "          mirror      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 "${exp}" ${ZPOOL} status ${name1}
105185029Spjdexpect_ok ${ZPOOL} add -f ${name1} mirror ${disk0} ${disk1}
106185029Spjdexp=`(
107185029Spjd  echo "  pool: ${name1}"
108185029Spjd  echo " state: ONLINE"
109185029Spjd  echo " scrub: none requested"
110185029Spjd  echo "config:"
111185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
112185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
113185029Spjd  echo "          mirror      ONLINE     0     0     0"
114185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
115185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
116185029Spjd  echo "          mirror      ONLINE     0     0     0"
117185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
118185029Spjd  echo "            ${disk1}  ONLINE     0     0     0"
119185029Spjd  echo "errors: No known data errors"
120185029Spjd)`
121185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
122185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
123185029Spjd
124185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0}
125185029Spjdexpect_ok ${ZPOOL} export ${name0}
126185029Spjdexpect_ok ${ZPOOL} create ${name1} mirror ${disk1} ${disk2}
127185029Spjdexp=`(
128185029Spjd  echo "invalid vdev specification"
129185029Spjd  echo "use '-f' to override the following errors:"
130185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
131185029Spjd)`
132185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} mirror ${disk3} ${disk0}
133185029Spjdexp=`(
134185029Spjd  echo "  pool: ${name1}"
135185029Spjd  echo " state: ONLINE"
136185029Spjd  echo " scrub: none requested"
137185029Spjd  echo "config:"
138185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
139185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
140185029Spjd  echo "          mirror      ONLINE     0     0     0"
141185029Spjd  echo "            ${disk1}  ONLINE     0     0     0"
142185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
143185029Spjd  echo "errors: No known data errors"
144185029Spjd)`
145185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
146185029Spjdexpect_ok ${ZPOOL} add -f ${name1} mirror ${disk3} ${disk0}
147185029Spjdexp=`(
148185029Spjd  echo "  pool: ${name1}"
149185029Spjd  echo " state: ONLINE"
150185029Spjd  echo " scrub: none requested"
151185029Spjd  echo "config:"
152185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
153185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
154185029Spjd  echo "          mirror      ONLINE     0     0     0"
155185029Spjd  echo "            ${disk1}  ONLINE     0     0     0"
156185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
157185029Spjd  echo "          mirror      ONLINE     0     0     0"
158185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
159185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
160185029Spjd  echo "errors: No known data errors"
161185029Spjd)`
162185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
163185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
164185029Spjd
165185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
166185029Spjdexpect_ok ${ZPOOL} export ${name0}
167185029Spjdexpect_ok ${ZPOOL} create ${name1} raidz1 ${disk3} ${disk4} ${disk5}
168185029Spjdexp=`(
169185029Spjd  echo "invalid vdev specification"
170185029Spjd  echo "use '-f' to override the following errors:"
171185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
172185029Spjd)`
173185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} raidz1 ${disk0} ${disk1} ${disk2}
174185029Spjdexp=`(
175185029Spjd  echo "  pool: ${name1}"
176185029Spjd  echo " state: ONLINE"
177185029Spjd  echo " scrub: none requested"
178185029Spjd  echo "config:"
179185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
180185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
181185029Spjd  echo "          raidz1      ONLINE     0     0     0"
182185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
183185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
184185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
185185029Spjd  echo "errors: No known data errors"
186185029Spjd)`
187185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
188185029Spjdexpect_ok ${ZPOOL} add -f ${name1} raidz1 ${disk0} ${disk1} ${disk2}
189185029Spjdexp=`(
190185029Spjd  echo "  pool: ${name1}"
191185029Spjd  echo " state: ONLINE"
192185029Spjd  echo " scrub: none requested"
193185029Spjd  echo "config:"
194185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
195185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
196185029Spjd  echo "          raidz1      ONLINE     0     0     0"
197185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
198185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
199185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
200185029Spjd  echo "          raidz1      ONLINE     0     0     0"
201185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
202185029Spjd  echo "            ${disk1}  ONLINE     0     0     0"
203185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
204185029Spjd  echo "errors: No known data errors"
205185029Spjd)`
206185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
207185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
208185029Spjd
209185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0}
210185029Spjdexpect_ok ${ZPOOL} export ${name0}
211185029Spjdexpect_ok ${ZPOOL} create ${name1} raidz1 ${disk1} ${disk2} ${disk3}
212185029Spjdexp=`(
213185029Spjd  echo "invalid vdev specification"
214185029Spjd  echo "use '-f' to override the following errors:"
215185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
216185029Spjd)`
217185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} raidz1 ${disk4} ${disk5} ${disk0}
218185029Spjdexp=`(
219185029Spjd  echo "  pool: ${name1}"
220185029Spjd  echo " state: ONLINE"
221185029Spjd  echo " scrub: none requested"
222185029Spjd  echo "config:"
223185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
224185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
225185029Spjd  echo "          raidz1      ONLINE     0     0     0"
226185029Spjd  echo "            ${disk1}  ONLINE     0     0     0"
227185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
228185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
229185029Spjd  echo "errors: No known data errors"
230185029Spjd)`
231185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
232185029Spjdexpect_ok ${ZPOOL} add -f ${name1} raidz1 ${disk4} ${disk5} ${disk0}
233185029Spjdexp=`(
234185029Spjd  echo "  pool: ${name1}"
235185029Spjd  echo " state: ONLINE"
236185029Spjd  echo " scrub: none requested"
237185029Spjd  echo "config:"
238185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
239185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
240185029Spjd  echo "          raidz1      ONLINE     0     0     0"
241185029Spjd  echo "            ${disk1}  ONLINE     0     0     0"
242185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
243185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
244185029Spjd  echo "          raidz1      ONLINE     0     0     0"
245185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
246185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
247185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
248185029Spjd  echo "errors: No known data errors"
249185029Spjd)`
250185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
251185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
252185029Spjd
253185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
254185029Spjdexpect_ok ${ZPOOL} export ${name0}
255185029Spjdexpect_ok ${ZPOOL} create ${name1} raidz2 ${disk4} ${disk5} ${disk6} ${disk7}
256185029Spjdexp=`(
257185029Spjd  echo "invalid vdev specification"
258185029Spjd  echo "use '-f' to override the following errors:"
259185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
260185029Spjd)`
261185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
262185029Spjdexp=`(
263185029Spjd  echo "  pool: ${name1}"
264185029Spjd  echo " state: ONLINE"
265185029Spjd  echo " scrub: none requested"
266185029Spjd  echo "config:"
267185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
268185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
269185029Spjd  echo "          raidz2      ONLINE     0     0     0"
270185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
271185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
272185029Spjd  echo "            ${disk6}  ONLINE     0     0     0"
273185029Spjd  echo "            ${disk7}  ONLINE     0     0     0"
274185029Spjd  echo "errors: No known data errors"
275185029Spjd)`
276185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
277185029Spjdexpect_ok ${ZPOOL} add -f ${name1} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
278185029Spjdexp=`(
279185029Spjd  echo "  pool: ${name1}"
280185029Spjd  echo " state: ONLINE"
281185029Spjd  echo " scrub: none requested"
282185029Spjd  echo "config:"
283185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
284185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
285185029Spjd  echo "          raidz2      ONLINE     0     0     0"
286185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
287185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
288185029Spjd  echo "            ${disk6}  ONLINE     0     0     0"
289185029Spjd  echo "            ${disk7}  ONLINE     0     0     0"
290185029Spjd  echo "          raidz2      ONLINE     0     0     0"
291185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
292185029Spjd  echo "            ${disk1}  ONLINE     0     0     0"
293185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
294185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
295185029Spjd  echo "errors: No known data errors"
296185029Spjd)`
297185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
298185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
299185029Spjd
300185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0}
301185029Spjdexpect_ok ${ZPOOL} export ${name0}
302185029Spjdexpect_ok ${ZPOOL} create ${name1} raidz2 ${disk1} ${disk2} ${disk3} ${disk4}
303185029Spjdexp=`(
304185029Spjd  echo "invalid vdev specification"
305185029Spjd  echo "use '-f' to override the following errors:"
306185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
307185029Spjd)`
308185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} raidz2 ${disk5} ${disk6} ${disk0} ${disk7}
309185029Spjdexp=`(
310185029Spjd  echo "  pool: ${name1}"
311185029Spjd  echo " state: ONLINE"
312185029Spjd  echo " scrub: none requested"
313185029Spjd  echo "config:"
314185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
315185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
316185029Spjd  echo "          raidz2      ONLINE     0     0     0"
317185029Spjd  echo "            ${disk1}  ONLINE     0     0     0"
318185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
319185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
320185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
321185029Spjd  echo "errors: No known data errors"
322185029Spjd)`
323185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
324185029Spjdexpect_ok ${ZPOOL} add -f ${name1} raidz2 ${disk5} ${disk6} ${disk0} ${disk7}
325185029Spjdexp=`(
326185029Spjd  echo "  pool: ${name1}"
327185029Spjd  echo " state: ONLINE"
328185029Spjd  echo " scrub: none requested"
329185029Spjd  echo "config:"
330185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
331185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
332185029Spjd  echo "          raidz2      ONLINE     0     0     0"
333185029Spjd  echo "            ${disk1}  ONLINE     0     0     0"
334185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
335185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
336185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
337185029Spjd  echo "          raidz2      ONLINE     0     0     0"
338185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
339185029Spjd  echo "            ${disk6}  ONLINE     0     0     0"
340185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
341185029Spjd  echo "            ${disk7}  ONLINE     0     0     0"
342185029Spjd  echo "errors: No known data errors"
343185029Spjd)`
344185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
345185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
346185029Spjd
347185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0}
348185029Spjdexpect_ok ${ZPOOL} export ${name0}
349185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk1}
350185029Spjdexp=`(
351185029Spjd  echo "invalid vdev specification"
352185029Spjd  echo "use '-f' to override the following errors:"
353185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
354185029Spjd)`
355185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} log ${disk0}
356185029Spjdexp=`(
357185029Spjd  echo "  pool: ${name1}"
358185029Spjd  echo " state: ONLINE"
359185029Spjd  echo " scrub: none requested"
360185029Spjd  echo "config:"
361185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
362185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
363185029Spjd  echo "          ${disk1}  ONLINE     0     0     0"
364185029Spjd  echo "errors: No known data errors"
365185029Spjd)`
366185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
367185029Spjdexpect_ok ${ZPOOL} add -f ${name1} log ${disk0}
368185029Spjdexp=`(
369185029Spjd  echo "  pool: ${name1}"
370185029Spjd  echo " state: ONLINE"
371185029Spjd  echo " scrub: none requested"
372185029Spjd  echo "config:"
373185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
374185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
375185029Spjd  echo "          ${disk1}    ONLINE     0     0     0"
376185029Spjd  echo "          logs        ONLINE     0     0     0"
377185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
378185029Spjd  echo "errors: No known data errors"
379185029Spjd)`
380185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
381185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
382185029Spjd
383185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0}
384185029Spjdexpect_ok ${ZPOOL} export ${name0}
385185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk1}
386185029Spjdexp=`(
387185029Spjd  echo "invalid vdev specification"
388185029Spjd  echo "use '-f' to override the following errors:"
389185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
390185029Spjd)`
391185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} log ${disk2} ${disk0}
392185029Spjdexp=`(
393185029Spjd  echo "  pool: ${name1}"
394185029Spjd  echo " state: ONLINE"
395185029Spjd  echo " scrub: none requested"
396185029Spjd  echo "config:"
397185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
398185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
399185029Spjd  echo "          ${disk1}  ONLINE     0     0     0"
400185029Spjd  echo "errors: No known data errors"
401185029Spjd)`
402185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
403185029Spjdexpect_ok ${ZPOOL} add -f ${name1} log ${disk2} ${disk0}
404185029Spjdexp=`(
405185029Spjd  echo "  pool: ${name1}"
406185029Spjd  echo " state: ONLINE"
407185029Spjd  echo " scrub: none requested"
408185029Spjd  echo "config:"
409185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
410185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
411185029Spjd  echo "          ${disk1}    ONLINE     0     0     0"
412185029Spjd  echo "          logs        ONLINE     0     0     0"
413185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
414185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
415185029Spjd  echo "errors: No known data errors"
416185029Spjd)`
417185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
418185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
419185029Spjd
420185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log ${disk1}
421185029Spjdexpect_ok ${ZPOOL} export ${name0}
422185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk2}
423185029Spjdexp=`(
424185029Spjd  echo "invalid vdev specification"
425185029Spjd  echo "use '-f' to override the following errors:"
426185029Spjd  echo "${fdisk1} is part of exported pool '${name0}'"
427185029Spjd)`
428185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} log mirror ${disk1} ${disk0}
429185029Spjdexp=`(
430185029Spjd  echo "  pool: ${name1}"
431185029Spjd  echo " state: ONLINE"
432185029Spjd  echo " scrub: none requested"
433185029Spjd  echo "config:"
434185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
435185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
436185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
437185029Spjd  echo "errors: No known data errors"
438185029Spjd)`
439185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
440185029Spjdexpect_ok ${ZPOOL} add -f ${name1} log mirror ${disk1} ${disk0}
441185029Spjdexp=`(
442185029Spjd  echo "  pool: ${name1}"
443185029Spjd  echo " state: ONLINE"
444185029Spjd  echo " scrub: none requested"
445185029Spjd  echo "config:"
446185029Spjd  echo "        NAME            STATE   READ WRITE CKSUM"
447185029Spjd  echo "        ${name1}        ONLINE     0     0     0"
448185029Spjd  echo "          ${disk2}      ONLINE     0     0     0"
449185029Spjd  echo "          logs          ONLINE     0     0     0"
450185029Spjd  echo "            mirror      ONLINE     0     0     0"
451185029Spjd  echo "              ${disk1}  ONLINE     0     0     0"
452185029Spjd  echo "              ${disk0}  ONLINE     0     0     0"
453185029Spjd  echo "errors: No known data errors"
454185029Spjd)`
455185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
456185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
457185029Spjd
458185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0}
459185029Spjdexpect_ok ${ZPOOL} export ${name0}
460185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk1}
461185029Spjdexp=`(
462185029Spjd  echo "invalid vdev specification"
463185029Spjd  echo "use '-f' to override the following errors:"
464185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
465185029Spjd)`
466185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} log mirror ${disk2} ${disk0}
467185029Spjdexp=`(
468185029Spjd  echo "  pool: ${name1}"
469185029Spjd  echo " state: ONLINE"
470185029Spjd  echo " scrub: none requested"
471185029Spjd  echo "config:"
472185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
473185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
474185029Spjd  echo "          ${disk1}  ONLINE     0     0     0"
475185029Spjd  echo "errors: No known data errors"
476185029Spjd)`
477185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
478185029Spjdexpect_ok ${ZPOOL} add -f ${name1} log mirror ${disk2} ${disk0}
479185029Spjdexp=`(
480185029Spjd  echo "  pool: ${name1}"
481185029Spjd  echo " state: ONLINE"
482185029Spjd  echo " scrub: none requested"
483185029Spjd  echo "config:"
484185029Spjd  echo "        NAME            STATE   READ WRITE CKSUM"
485185029Spjd  echo "        ${name1}        ONLINE     0     0     0"
486185029Spjd  echo "          ${disk1}      ONLINE     0     0     0"
487185029Spjd  echo "          logs          ONLINE     0     0     0"
488185029Spjd  echo "            mirror      ONLINE     0     0     0"
489185029Spjd  echo "              ${disk2}  ONLINE     0     0     0"
490185029Spjd  echo "              ${disk0}  ONLINE     0     0     0"
491185029Spjd  echo "errors: No known data errors"
492185029Spjd)`
493185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
494185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
495185029Spjd
496185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk1} cache ${disk0}
497185029Spjdexpect_ok ${ZPOOL} export ${name0}
498185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk2}
499185029Spjdexp=`(
500185029Spjd  echo "invalid vdev specification"
501185029Spjd  echo "use '-f' to override the following errors:"
502185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
503185029Spjd)`
504185029Spjdadd_msg="# TODO It shouldn't be possible to use offlined cache vdevs."
505185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} cache ${disk0}
506185029Spjdexp=`(
507185029Spjd  echo "  pool: ${name1}"
508185029Spjd  echo " state: ONLINE"
509185029Spjd  echo " scrub: none requested"
510185029Spjd  echo "config:"
511185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
512185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
513185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
514185029Spjd  echo "errors: No known data errors"
515185029Spjd)`
516185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
517185029Spjdexpect_ok ${ZPOOL} add -f ${name1} cache ${disk0}
518185029Spjdadd_msg=""
519185029Spjdexp=`(
520185029Spjd  echo "  pool: ${name1}"
521185029Spjd  echo " state: ONLINE"
522185029Spjd  echo " scrub: none requested"
523185029Spjd  echo "config:"
524185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
525185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
526185029Spjd  echo "          ${disk2}    ONLINE     0     0     0"
527185029Spjd  echo "          cache"
528185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
529185029Spjd  echo "errors: No known data errors"
530185029Spjd)`
531185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
532185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
533185029Spjdexpect_ok ${ZPOOL} import ${name0}
534185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
535185029Spjd
536185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk1} cache ${disk0}
537185029Spjdexpect_ok ${ZPOOL} export ${name0}
538185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk2}
539185029Spjdexp=`(
540185029Spjd  echo "invalid vdev specification"
541185029Spjd  echo "use '-f' to override the following errors:"
542185029Spjd  echo "${fdisk0} is part of exported pool '${name0}'"
543185029Spjd)`
544185029Spjdadd_msg="# TODO It shouldn't be possible to use offlined cache vdevs."
545185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} cache ${disk3} ${disk0}
546185029Spjdexp=`(
547185029Spjd  echo "  pool: ${name1}"
548185029Spjd  echo " state: ONLINE"
549185029Spjd  echo " scrub: none requested"
550185029Spjd  echo "config:"
551185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
552185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
553185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
554185029Spjd  echo "errors: No known data errors"
555185029Spjd)`
556185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
557185029Spjdexpect_ok ${ZPOOL} add -f ${name1} cache ${disk3} ${disk0}
558185029Spjdadd_msg=""
559185029Spjdexp=`(
560185029Spjd  echo "  pool: ${name1}"
561185029Spjd  echo " state: ONLINE"
562185029Spjd  echo " scrub: none requested"
563185029Spjd  echo "config:"
564185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
565185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
566185029Spjd  echo "          ${disk2}    ONLINE     0     0     0"
567185029Spjd  echo "          cache"
568185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
569185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
570185029Spjd  echo "errors: No known data errors"
571185029Spjd)`
572185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
573185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
574185029Spjdexpect_ok ${ZPOOL} import ${name0}
575185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
576185029Spjd
577185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
578185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
579185029Spjdexpect_ok ${ZPOOL} export ${name0}
580185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk2}
581185029Spjdexp=`(
582185029Spjd  echo "invalid vdev specification"
583185029Spjd  echo "use '-f' to override the following errors:"
584185029Spjd  echo "${fdisk0} is part of potentially active pool '${name0}'"
585185029Spjd)`
586185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} ${disk0}
587185029Spjdexp=`(
588185029Spjd  echo "  pool: ${name1}"
589185029Spjd  echo " state: ONLINE"
590185029Spjd  echo " scrub: none requested"
591185029Spjd  echo "config:"
592185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
593185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
594185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
595185029Spjd  echo "errors: No known data errors"
596185029Spjd)`
597185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
598185029Spjdexpect_ok ${ZPOOL} add -f ${name1} ${disk0}
599185029Spjdexp=`(
600185029Spjd  echo "  pool: ${name1}"
601185029Spjd  echo " state: ONLINE"
602185029Spjd  echo " scrub: none requested"
603185029Spjd  echo "config:"
604185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
605185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
606185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
607185029Spjd  echo "          ${disk0}  ONLINE     0     0     0"
608185029Spjd  echo "errors: No known data errors"
609185029Spjd)`
610185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
611185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
612185029Spjdexpect_ok ${ZPOOL} import ${name0}
613185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
614185029Spjd
615185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
616185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
617185029Spjdexpect_ok ${ZPOOL} export ${name0}
618185029Spjdexpect_ok ${ZPOOL} create ${name1} mirror ${disk2} ${disk3}
619185029Spjdexp=`(
620185029Spjd  echo "invalid vdev specification"
621185029Spjd  echo "use '-f' to override the following errors:"
622185029Spjd  echo "${fdisk0} is part of potentially active pool '${name0}'"
623185029Spjd)`
624185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} mirror ${disk0} ${disk4}
625185029Spjdexp=`(
626185029Spjd  echo "  pool: ${name1}"
627185029Spjd  echo " state: ONLINE"
628185029Spjd  echo " scrub: none requested"
629185029Spjd  echo "config:"
630185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
631185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
632185029Spjd  echo "          mirror      ONLINE     0     0     0"
633185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
634185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
635185029Spjd  echo "errors: No known data errors"
636185029Spjd)`
637185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
638185029Spjdexpect_ok ${ZPOOL} add -f ${name1} mirror ${disk0} ${disk4}
639185029Spjdexp=`(
640185029Spjd  echo "  pool: ${name1}"
641185029Spjd  echo " state: ONLINE"
642185029Spjd  echo " scrub: none requested"
643185029Spjd  echo "config:"
644185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
645185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
646185029Spjd  echo "          mirror      ONLINE     0     0     0"
647185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
648185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
649185029Spjd  echo "          mirror      ONLINE     0     0     0"
650185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
651185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
652185029Spjd  echo "errors: No known data errors"
653185029Spjd)`
654185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
655185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
656185029Spjdexpect_ok ${ZPOOL} import ${name0}
657185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
658185029Spjd
659185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
660185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
661185029Spjdexpect_ok ${ZPOOL} export ${name0}
662185029Spjdexpect_ok ${ZPOOL} create ${name1} raidz1 ${disk3} ${disk4} ${disk5}
663185029Spjdexp=`(
664185029Spjd  echo "invalid vdev specification"
665185029Spjd  echo "use '-f' to override the following errors:"
666185029Spjd  echo "${fdisk0} is part of potentially active pool '${name0}'"
667185029Spjd)`
668185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} raidz1 ${disk0} ${disk6} ${disk7}
669185029Spjdexp=`(
670185029Spjd  echo "  pool: ${name1}"
671185029Spjd  echo " state: ONLINE"
672185029Spjd  echo " scrub: none requested"
673185029Spjd  echo "config:"
674185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
675185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
676185029Spjd  echo "          raidz1      ONLINE     0     0     0"
677185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
678185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
679185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
680185029Spjd  echo "errors: No known data errors"
681185029Spjd)`
682185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
683185029Spjdexpect_ok ${ZPOOL} add -f ${name1} raidz1 ${disk0} ${disk6} ${disk7}
684185029Spjdexp=`(
685185029Spjd  echo "  pool: ${name1}"
686185029Spjd  echo " state: ONLINE"
687185029Spjd  echo " scrub: none requested"
688185029Spjd  echo "config:"
689185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
690185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
691185029Spjd  echo "          raidz1      ONLINE     0     0     0"
692185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
693185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
694185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
695185029Spjd  echo "          raidz1      ONLINE     0     0     0"
696185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
697185029Spjd  echo "            ${disk6}  ONLINE     0     0     0"
698185029Spjd  echo "            ${disk7}  ONLINE     0     0     0"
699185029Spjd  echo "errors: No known data errors"
700185029Spjd)`
701185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
702185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
703185029Spjdexpect_ok ${ZPOOL} import ${name0}
704185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
705185029Spjd
706185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
707185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
708185029Spjdexpect_ok ${ZPOOL} export ${name0}
709185029Spjdexpect_ok ${ZPOOL} create ${name1} raidz2 ${disk4} ${disk5} ${disk6} ${disk7}
710185029Spjdexp=`(
711185029Spjd  echo "invalid vdev specification"
712185029Spjd  echo "use '-f' to override the following errors:"
713185029Spjd  echo "${fdisk0} is part of potentially active pool '${name0}'"
714185029Spjd)`
715185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} raidz2 ${disk0} ${disk8} ${disk9} ${disk10}
716185029Spjdexp=`(
717185029Spjd  echo "  pool: ${name1}"
718185029Spjd  echo " state: ONLINE"
719185029Spjd  echo " scrub: none requested"
720185029Spjd  echo "config:"
721185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
722185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
723185029Spjd  echo "          raidz2      ONLINE     0     0     0"
724185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
725185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
726185029Spjd  echo "            ${disk6}  ONLINE     0     0     0"
727185029Spjd  echo "            ${disk7}  ONLINE     0     0     0"
728185029Spjd  echo "errors: No known data errors"
729185029Spjd)`
730185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
731185029Spjdexpect_ok ${ZPOOL} add -f ${name1} raidz2 ${disk0} ${disk8} ${disk9} ${disk10}
732185029Spjdexp=`(
733185029Spjd  echo "  pool: ${name1}"
734185029Spjd  echo " state: ONLINE"
735185029Spjd  echo " scrub: none requested"
736185029Spjd  echo "config:"
737185029Spjd  echo "        NAME           STATE   READ WRITE CKSUM"
738185029Spjd  echo "        ${name1}       ONLINE     0     0     0"
739185029Spjd  echo "          raidz2       ONLINE     0     0     0"
740185029Spjd  echo "            ${disk4}   ONLINE     0     0     0"
741185029Spjd  echo "            ${disk5}   ONLINE     0     0     0"
742185029Spjd  echo "            ${disk6}   ONLINE     0     0     0"
743185029Spjd  echo "            ${disk7}   ONLINE     0     0     0"
744185029Spjd  echo "          raidz2       ONLINE     0     0     0"
745185029Spjd  echo "            ${disk0}   ONLINE     0     0     0"
746185029Spjd  echo "            ${disk8}   ONLINE     0     0     0"
747185029Spjd  echo "            ${disk9}   ONLINE     0     0     0"
748185029Spjd  echo "            ${disk10}  ONLINE     0     0     0"
749185029Spjd  echo "errors: No known data errors"
750185029Spjd)`
751185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
752185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
753185029Spjdexpect_ok ${ZPOOL} import ${name0}
754185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
755185029Spjd
756185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
757185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
758185029Spjdexpect_ok ${ZPOOL} export ${name0}
759185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk2}
760185029Spjdexp=`(
761185029Spjd  echo "invalid vdev specification"
762185029Spjd  echo "use '-f' to override the following errors:"
763185029Spjd  echo "${fdisk0} is part of potentially active pool '${name0}'"
764185029Spjd)`
765185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} log ${disk0}
766185029Spjdexp=`(
767185029Spjd  echo "  pool: ${name1}"
768185029Spjd  echo " state: ONLINE"
769185029Spjd  echo " scrub: none requested"
770185029Spjd  echo "config:"
771185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
772185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
773185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
774185029Spjd  echo "errors: No known data errors"
775185029Spjd)`
776185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
777185029Spjdexpect_ok ${ZPOOL} add -f ${name1} log ${disk0}
778185029Spjdexp=`(
779185029Spjd  echo "  pool: ${name1}"
780185029Spjd  echo " state: ONLINE"
781185029Spjd  echo " scrub: none requested"
782185029Spjd  echo "config:"
783185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
784185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
785185029Spjd  echo "          ${disk2}    ONLINE     0     0     0"
786185029Spjd  echo "          logs        ONLINE     0     0     0"
787185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
788185029Spjd  echo "errors: No known data errors"
789185029Spjd)`
790185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
791185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
792185029Spjdexpect_ok ${ZPOOL} import ${name0}
793185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
794185029Spjd
795185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2}
796185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1}
797185029Spjdexpect_ok ${ZPOOL} export ${name0}
798185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk3}
799185029Spjdexp=`(
800185029Spjd  echo "invalid vdev specification"
801185029Spjd  echo "use '-f' to override the following errors:"
802185029Spjd  echo "${fdisk1} is part of potentially active pool '${name0}'"
803185029Spjd)`
804185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} log mirror ${disk1} ${disk4}
805185029Spjdexp=`(
806185029Spjd  echo "  pool: ${name1}"
807185029Spjd  echo " state: ONLINE"
808185029Spjd  echo " scrub: none requested"
809185029Spjd  echo "config:"
810185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
811185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
812185029Spjd  echo "          ${disk3}  ONLINE     0     0     0"
813185029Spjd  echo "errors: No known data errors"
814185029Spjd)`
815185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
816185029Spjdexpect_ok ${ZPOOL} add -f ${name1} log mirror ${disk1} ${disk4}
817185029Spjdexp=`(
818185029Spjd  echo "  pool: ${name1}"
819185029Spjd  echo " state: ONLINE"
820185029Spjd  echo " scrub: none requested"
821185029Spjd  echo "config:"
822185029Spjd  echo "        NAME            STATE   READ WRITE CKSUM"
823185029Spjd  echo "        ${name1}        ONLINE     0     0     0"
824185029Spjd  echo "          ${disk3}      ONLINE     0     0     0"
825185029Spjd  echo "          logs          ONLINE     0     0     0"
826185029Spjd  echo "            mirror      ONLINE     0     0     0"
827185029Spjd  echo "              ${disk1}  ONLINE     0     0     0"
828185029Spjd  echo "              ${disk4}  ONLINE     0     0     0"
829185029Spjd  echo "errors: No known data errors"
830185029Spjd)`
831185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
832185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
833185029Spjdexpect_ok ${ZPOOL} import ${name0}
834185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
835185029Spjd
836185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk1} cache ${disk0}
837185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
838185029Spjdexpect_ok ${ZPOOL} export ${name0}
839185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk2}
840185029Spjdexp=`(
841185029Spjd  echo "invalid vdev specification"
842185029Spjd  echo "use '-f' to override the following errors:"
843185029Spjd  echo "${fdisk0} is part of potentially active pool '${name0}'"
844185029Spjd)`
845185029Spjdadd_msg="# TODO It shouldn't be possible to use offlined cache vdevs."
846185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} cache ${disk0}
847185029Spjdexp=`(
848185029Spjd  echo "  pool: ${name1}"
849185029Spjd  echo " state: ONLINE"
850185029Spjd  echo " scrub: none requested"
851185029Spjd  echo "config:"
852185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
853185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
854185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
855185029Spjd  echo "errors: No known data errors"
856185029Spjd)`
857185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
858185029Spjdexpect_ok ${ZPOOL} add -f ${name1} cache ${disk0}
859185029Spjdadd_msg=""
860185029Spjdexp=`(
861185029Spjd  echo "  pool: ${name1}"
862185029Spjd  echo " state: ONLINE"
863185029Spjd  echo " scrub: none requested"
864185029Spjd  echo "config:"
865185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
866185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
867185029Spjd  echo "          ${disk2}    ONLINE     0     0     0"
868185029Spjd  echo "          cache"
869185029Spjd  echo "            ${disk0}  ONLINE     0     0     0"
870185029Spjd  echo "errors: No known data errors"
871185029Spjd)`
872185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
873185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
874185029Spjdexpect_ok ${ZPOOL} import ${name0}
875185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
876185029Spjd
877185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
878185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
879185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk2}
880185029Spjdexp=`(
881185029Spjd  echo "invalid vdev specification"
882185029Spjd  echo "use '-f' to override the following errors:"
883185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
884185029Spjd)`
885185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} ${disk0}
886185029Spjdexp=`(
887185029Spjd  echo "  pool: ${name1}"
888185029Spjd  echo " state: ONLINE"
889185029Spjd  echo " scrub: none requested"
890185029Spjd  echo "config:"
891185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
892185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
893185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
894185029Spjd  echo "errors: No known data errors"
895185029Spjd)`
896185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
897185029Spjdexp=`(
898185029Spjd  echo "invalid vdev specification"
899185029Spjd  echo "the following errors must be manually repaired:"
900185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
901185029Spjd)`
902185029Spjdexpect "${exp}" ${ZPOOL} add -f ${name1} ${disk0}
903185029Spjdexp=`(
904185029Spjd  echo "  pool: ${name1}"
905185029Spjd  echo " state: ONLINE"
906185029Spjd  echo " scrub: none requested"
907185029Spjd  echo "config:"
908185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
909185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
910185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
911185029Spjd  echo "errors: No known data errors"
912185029Spjd)`
913185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
914185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
915185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk0}
916185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
917185029Spjd
918185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
919185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
920185029Spjdexpect_ok ${ZPOOL} create ${name1} mirror ${disk2} ${disk3}
921185029Spjdexp=`(
922185029Spjd  echo "invalid vdev specification"
923185029Spjd  echo "use '-f' to override the following errors:"
924185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
925185029Spjd)`
926185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} mirror ${disk0} ${disk4}
927185029Spjdexp=`(
928185029Spjd  echo "  pool: ${name1}"
929185029Spjd  echo " state: ONLINE"
930185029Spjd  echo " scrub: none requested"
931185029Spjd  echo "config:"
932185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
933185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
934185029Spjd  echo "          mirror      ONLINE     0     0     0"
935185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
936185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
937185029Spjd  echo "errors: No known data errors"
938185029Spjd)`
939185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
940185029Spjdexp=`(
941185029Spjd  echo "invalid vdev specification"
942185029Spjd  echo "the following errors must be manually repaired:"
943185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
944185029Spjd)`
945185029Spjdexpect "${exp}" ${ZPOOL} add -f ${name1} mirror ${disk0} ${disk4}
946185029Spjdexp=`(
947185029Spjd  echo "  pool: ${name1}"
948185029Spjd  echo " state: ONLINE"
949185029Spjd  echo " scrub: none requested"
950185029Spjd  echo "config:"
951185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
952185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
953185029Spjd  echo "          mirror      ONLINE     0     0     0"
954185029Spjd  echo "            ${disk2}  ONLINE     0     0     0"
955185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
956185029Spjd  echo "errors: No known data errors"
957185029Spjd)`
958185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
959185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
960185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk0}
961185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
962185029Spjd
963185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
964185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
965185029Spjdexpect_ok ${ZPOOL} create ${name1} raidz1 ${disk3} ${disk4} ${disk5}
966185029Spjdexp=`(
967185029Spjd  echo "invalid vdev specification"
968185029Spjd  echo "use '-f' to override the following errors:"
969185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
970185029Spjd)`
971185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} raidz1 ${disk0} ${disk6} ${disk7}
972185029Spjdexp=`(
973185029Spjd  echo "  pool: ${name1}"
974185029Spjd  echo " state: ONLINE"
975185029Spjd  echo " scrub: none requested"
976185029Spjd  echo "config:"
977185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
978185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
979185029Spjd  echo "          raidz1      ONLINE     0     0     0"
980185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
981185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
982185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
983185029Spjd  echo "errors: No known data errors"
984185029Spjd)`
985185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
986185029Spjdexp=`(
987185029Spjd  echo "invalid vdev specification"
988185029Spjd  echo "the following errors must be manually repaired:"
989185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
990185029Spjd)`
991185029Spjdexpect "${exp}" ${ZPOOL} add -f ${name1} raidz1 ${disk0} ${disk6} ${disk7}
992185029Spjdexp=`(
993185029Spjd  echo "  pool: ${name1}"
994185029Spjd  echo " state: ONLINE"
995185029Spjd  echo " scrub: none requested"
996185029Spjd  echo "config:"
997185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
998185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
999185029Spjd  echo "          raidz1      ONLINE     0     0     0"
1000185029Spjd  echo "            ${disk3}  ONLINE     0     0     0"
1001185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
1002185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
1003185029Spjd  echo "errors: No known data errors"
1004185029Spjd)`
1005185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
1006185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
1007185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk0}
1008185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
1009185029Spjd
1010185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
1011185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
1012185029Spjdexpect_ok ${ZPOOL} create ${name1} raidz2 ${disk4} ${disk5} ${disk6} ${disk7}
1013185029Spjdexp=`(
1014185029Spjd  echo "invalid vdev specification"
1015185029Spjd  echo "use '-f' to override the following errors:"
1016185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
1017185029Spjd)`
1018185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} raidz2 ${disk0} ${disk8} ${disk9} ${disk10}
1019185029Spjdexp=`(
1020185029Spjd  echo "  pool: ${name1}"
1021185029Spjd  echo " state: ONLINE"
1022185029Spjd  echo " scrub: none requested"
1023185029Spjd  echo "config:"
1024185029Spjd  echo "        NAME          STATE   READ WRITE CKSUM"
1025185029Spjd  echo "        ${name1}      ONLINE     0     0     0"
1026185029Spjd  echo "          raidz2      ONLINE     0     0     0"
1027185029Spjd  echo "            ${disk4}  ONLINE     0     0     0"
1028185029Spjd  echo "            ${disk5}  ONLINE     0     0     0"
1029185029Spjd  echo "            ${disk6}  ONLINE     0     0     0"
1030185029Spjd  echo "            ${disk7}  ONLINE     0     0     0"
1031185029Spjd  echo "errors: No known data errors"
1032185029Spjd)`
1033185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
1034185029Spjdexp=`(
1035185029Spjd  echo "invalid vdev specification"
1036185029Spjd  echo "the following errors must be manually repaired:"
1037185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
1038185029Spjd)`
1039185029Spjdexpect "${exp}" ${ZPOOL} add -f ${name1} raidz2 ${disk0} ${disk8} ${disk9} ${disk10}
1040185029Spjdexp=`(
1041185029Spjd  echo "  pool: ${name1}"
1042185029Spjd  echo " state: ONLINE"
1043185029Spjd  echo " scrub: none requested"
1044185029Spjd  echo "config:"
1045185029Spjd  echo "        NAME           STATE   READ WRITE CKSUM"
1046185029Spjd  echo "        ${name1}       ONLINE     0     0     0"
1047185029Spjd  echo "          raidz2       ONLINE     0     0     0"
1048185029Spjd  echo "            ${disk4}   ONLINE     0     0     0"
1049185029Spjd  echo "            ${disk5}   ONLINE     0     0     0"
1050185029Spjd  echo "            ${disk6}   ONLINE     0     0     0"
1051185029Spjd  echo "            ${disk7}   ONLINE     0     0     0"
1052185029Spjd  echo "errors: No known data errors"
1053185029Spjd)`
1054185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
1055185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
1056185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk0}
1057185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
1058185029Spjd
1059185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
1060185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
1061185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk2}
1062185029Spjdexp=`(
1063185029Spjd  echo "invalid vdev specification"
1064185029Spjd  echo "use '-f' to override the following errors:"
1065185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
1066185029Spjd)`
1067185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} log ${disk0}
1068185029Spjdexp=`(
1069185029Spjd  echo "  pool: ${name1}"
1070185029Spjd  echo " state: ONLINE"
1071185029Spjd  echo " scrub: none requested"
1072185029Spjd  echo "config:"
1073185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
1074185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
1075185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
1076185029Spjd  echo "errors: No known data errors"
1077185029Spjd)`
1078185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
1079185029Spjdexp=`(
1080185029Spjd  echo "invalid vdev specification"
1081185029Spjd  echo "the following errors must be manually repaired:"
1082185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
1083185029Spjd)`
1084185029Spjdexpect "${exp}" ${ZPOOL} add -f ${name1} log ${disk0}
1085185029Spjdexp=`(
1086185029Spjd  echo "  pool: ${name1}"
1087185029Spjd  echo " state: ONLINE"
1088185029Spjd  echo " scrub: none requested"
1089185029Spjd  echo "config:"
1090185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
1091185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
1092185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
1093185029Spjd  echo "errors: No known data errors"
1094185029Spjd)`
1095185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
1096185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
1097185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk0}
1098185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
1099185029Spjd
1100185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2}
1101185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1}
1102185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk3}
1103185029Spjdexp=`(
1104185029Spjd  echo "invalid vdev specification"
1105185029Spjd  echo "use '-f' to override the following errors:"
1106185029Spjd  echo "${fdisk1} is part of active pool '${name0}'"
1107185029Spjd)`
1108185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} log mirror ${disk1} ${disk4}
1109185029Spjdexp=`(
1110185029Spjd  echo "  pool: ${name1}"
1111185029Spjd  echo " state: ONLINE"
1112185029Spjd  echo " scrub: none requested"
1113185029Spjd  echo "config:"
1114185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
1115185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
1116185029Spjd  echo "          ${disk3}  ONLINE     0     0     0"
1117185029Spjd  echo "errors: No known data errors"
1118185029Spjd)`
1119185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
1120185029Spjdexp=`(
1121185029Spjd  echo "invalid vdev specification"
1122185029Spjd  echo "the following errors must be manually repaired:"
1123185029Spjd  echo "${fdisk1} is part of active pool '${name0}'"
1124185029Spjd)`
1125185029Spjdexpect "${exp}" ${ZPOOL} add -f ${name1} log mirror ${disk1} ${disk4}
1126185029Spjdexp=`(
1127185029Spjd  echo "  pool: ${name1}"
1128185029Spjd  echo " state: ONLINE"
1129185029Spjd  echo " scrub: none requested"
1130185029Spjd  echo "config:"
1131185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
1132185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
1133185029Spjd  echo "          ${disk3}  ONLINE     0     0     0"
1134185029Spjd  echo "errors: No known data errors"
1135185029Spjd)`
1136185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
1137185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
1138185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk1}
1139185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
1140185029Spjd
1141185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk1} cache ${disk0}
1142185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk0}
1143185029Spjdexpect_ok ${ZPOOL} create ${name1} ${disk2}
1144185029Spjdexp=`(
1145185029Spjd  echo "invalid vdev specification"
1146185029Spjd  echo "use '-f' to override the following errors:"
1147185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
1148185029Spjd)`
1149185029Spjdadd_msg="# TODO It reports that ${fdisk0} is part of unknown pool."
1150185029Spjdexpect "${exp}" ${ZPOOL} add ${name1} cache ${disk0}
1151185029Spjdadd_msg=""
1152185029Spjdexp=`(
1153185029Spjd  echo "  pool: ${name1}"
1154185029Spjd  echo " state: ONLINE"
1155185029Spjd  echo " scrub: none requested"
1156185029Spjd  echo "config:"
1157185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
1158185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
1159185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
1160185029Spjd  echo "errors: No known data errors"
1161185029Spjd)`
1162185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
1163185029Spjdadd_msg="# TODO Invalid problem description."
1164185029Spjdexp=`(
1165185029Spjd  echo "invalid vdev specification"
1166185029Spjd  echo "the following errors must be manually repaired:"
1167185029Spjd  echo "${fdisk0} is part of active pool '${name0}'"
1168185029Spjd)`
1169185029Spjdexpect "${exp}" ${ZPOOL} add -f ${name1} cache ${disk0}
1170185029Spjdadd_msg=""
1171185029Spjdexp=`(
1172185029Spjd  echo "  pool: ${name1}"
1173185029Spjd  echo " state: ONLINE"
1174185029Spjd  echo " scrub: none requested"
1175185029Spjd  echo "config:"
1176185029Spjd  echo "        NAME        STATE   READ WRITE CKSUM"
1177185029Spjd  echo "        ${name1}    ONLINE     0     0     0"
1178185029Spjd  echo "          ${disk2}  ONLINE     0     0     0"
1179185029Spjd  echo "errors: No known data errors"
1180185029Spjd)`
1181185029Spjdexpect "${exp}" ${ZPOOL} status ${name1}
1182185029Spjdexpect_ok ${ZPOOL} destroy ${name1}
1183185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk0}
1184185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
1185185029Spjd
1186185029Spjddisks_destroy
1187