]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - tools/regression/zfs/zpool/add/option-f_inuse.t
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / tools / regression / zfs / zpool / add / option-f_inuse.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 dir=`dirname $0`
5 . ${dir}/../../misc.sh
6
7 echo "1..263"
8
9 disks_create 11
10 names_create 2
11
12 expect_ok ${ZPOOL} create ${name0} ${disk0}
13 expect_ok ${ZPOOL} export ${name0}
14 expect_ok ${ZPOOL} create ${name1} ${disk1}
15 exp=`(
16   echo "invalid vdev specification"
17   echo "use '-f' to override the following errors:"
18   echo "${fdisk0} is part of exported pool '${name0}'"
19 )`
20 expect "${exp}" ${ZPOOL} add ${name1} ${disk0}
21 exp=`(
22   echo "  pool: ${name1}"
23   echo " state: ONLINE"
24   echo " scrub: none requested"
25   echo "config:"
26   echo "        NAME        STATE   READ WRITE CKSUM"
27   echo "        ${name1}    ONLINE     0     0     0"
28   echo "          ${disk1}  ONLINE     0     0     0"
29   echo "errors: No known data errors"
30 )`
31 expect "${exp}" ${ZPOOL} status ${name1}
32 expect_ok ${ZPOOL} add -f ${name1} ${disk0}
33 exp=`(
34   echo "  pool: ${name1}"
35   echo " state: ONLINE"
36   echo " scrub: none requested"
37   echo "config:"
38   echo "        NAME        STATE   READ WRITE CKSUM"
39   echo "        ${name1}    ONLINE     0     0     0"
40   echo "          ${disk1}  ONLINE     0     0     0"
41   echo "          ${disk0}  ONLINE     0     0     0"
42   echo "errors: No known data errors"
43 )`
44 expect "${exp}" ${ZPOOL} status ${name1}
45 expect_ok ${ZPOOL} destroy ${name1}
46
47 expect_ok ${ZPOOL} create ${name0} ${disk0}
48 expect_ok ${ZPOOL} export ${name0}
49 expect_ok ${ZPOOL} create ${name1} ${disk1}
50 exp=`(
51   echo "invalid vdev specification"
52   echo "use '-f' to override the following errors:"
53   echo "${fdisk0} is part of exported pool '${name0}'"
54 )`
55 expect "${exp}" ${ZPOOL} add ${name1} ${disk2} ${disk0}
56 exp=`(
57   echo "  pool: ${name1}"
58   echo " state: ONLINE"
59   echo " scrub: none requested"
60   echo "config:"
61   echo "        NAME        STATE   READ WRITE CKSUM"
62   echo "        ${name1}    ONLINE     0     0     0"
63   echo "          ${disk1}  ONLINE     0     0     0"
64   echo "errors: No known data errors"
65 )`
66 expect "${exp}" ${ZPOOL} status ${name1}
67 expect_ok ${ZPOOL} add -f ${name1} ${disk2} ${disk0}
68 exp=`(
69   echo "  pool: ${name1}"
70   echo " state: ONLINE"
71   echo " scrub: none requested"
72   echo "config:"
73   echo "        NAME        STATE   READ WRITE CKSUM"
74   echo "        ${name1}    ONLINE     0     0     0"
75   echo "          ${disk1}  ONLINE     0     0     0"
76   echo "          ${disk2}  ONLINE     0     0     0"
77   echo "          ${disk0}  ONLINE     0     0     0"
78   echo "errors: No known data errors"
79 )`
80 expect "${exp}" ${ZPOOL} status ${name1}
81 expect_ok ${ZPOOL} destroy ${name1}
82
83 expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
84 expect_ok ${ZPOOL} export ${name0}
85 expect_ok ${ZPOOL} create ${name1} mirror ${disk2} ${disk3}
86 exp=`(
87   echo "invalid vdev specification"
88   echo "use '-f' to override the following errors:"
89   echo "${fdisk0} is part of exported pool '${name0}'"
90 )`
91 expect "${exp}" ${ZPOOL} add ${name1} mirror ${disk0} ${disk1}
92 exp=`(
93   echo "  pool: ${name1}"
94   echo " state: ONLINE"
95   echo " scrub: none requested"
96   echo "config:"
97   echo "        NAME          STATE   READ WRITE CKSUM"
98   echo "        ${name1}      ONLINE     0     0     0"
99   echo "          mirror      ONLINE     0     0     0"
100   echo "            ${disk2}  ONLINE     0     0     0"
101   echo "            ${disk3}  ONLINE     0     0     0"
102   echo "errors: No known data errors"
103 )`
104 expect "${exp}" ${ZPOOL} status ${name1}
105 expect_ok ${ZPOOL} add -f ${name1} mirror ${disk0} ${disk1}
106 exp=`(
107   echo "  pool: ${name1}"
108   echo " state: ONLINE"
109   echo " scrub: none requested"
110   echo "config:"
111   echo "        NAME          STATE   READ WRITE CKSUM"
112   echo "        ${name1}      ONLINE     0     0     0"
113   echo "          mirror      ONLINE     0     0     0"
114   echo "            ${disk2}  ONLINE     0     0     0"
115   echo "            ${disk3}  ONLINE     0     0     0"
116   echo "          mirror      ONLINE     0     0     0"
117   echo "            ${disk0}  ONLINE     0     0     0"
118   echo "            ${disk1}  ONLINE     0     0     0"
119   echo "errors: No known data errors"
120 )`
121 expect "${exp}" ${ZPOOL} status ${name1}
122 expect_ok ${ZPOOL} destroy ${name1}
123
124 expect_ok ${ZPOOL} create ${name0} ${disk0}
125 expect_ok ${ZPOOL} export ${name0}
126 expect_ok ${ZPOOL} create ${name1} mirror ${disk1} ${disk2}
127 exp=`(
128   echo "invalid vdev specification"
129   echo "use '-f' to override the following errors:"
130   echo "${fdisk0} is part of exported pool '${name0}'"
131 )`
132 expect "${exp}" ${ZPOOL} add ${name1} mirror ${disk3} ${disk0}
133 exp=`(
134   echo "  pool: ${name1}"
135   echo " state: ONLINE"
136   echo " scrub: none requested"
137   echo "config:"
138   echo "        NAME          STATE   READ WRITE CKSUM"
139   echo "        ${name1}      ONLINE     0     0     0"
140   echo "          mirror      ONLINE     0     0     0"
141   echo "            ${disk1}  ONLINE     0     0     0"
142   echo "            ${disk2}  ONLINE     0     0     0"
143   echo "errors: No known data errors"
144 )`
145 expect "${exp}" ${ZPOOL} status ${name1}
146 expect_ok ${ZPOOL} add -f ${name1} mirror ${disk3} ${disk0}
147 exp=`(
148   echo "  pool: ${name1}"
149   echo " state: ONLINE"
150   echo " scrub: none requested"
151   echo "config:"
152   echo "        NAME          STATE   READ WRITE CKSUM"
153   echo "        ${name1}      ONLINE     0     0     0"
154   echo "          mirror      ONLINE     0     0     0"
155   echo "            ${disk1}  ONLINE     0     0     0"
156   echo "            ${disk2}  ONLINE     0     0     0"
157   echo "          mirror      ONLINE     0     0     0"
158   echo "            ${disk3}  ONLINE     0     0     0"
159   echo "            ${disk0}  ONLINE     0     0     0"
160   echo "errors: No known data errors"
161 )`
162 expect "${exp}" ${ZPOOL} status ${name1}
163 expect_ok ${ZPOOL} destroy ${name1}
164
165 expect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
166 expect_ok ${ZPOOL} export ${name0}
167 expect_ok ${ZPOOL} create ${name1} raidz1 ${disk3} ${disk4} ${disk5}
168 exp=`(
169   echo "invalid vdev specification"
170   echo "use '-f' to override the following errors:"
171   echo "${fdisk0} is part of exported pool '${name0}'"
172 )`
173 expect "${exp}" ${ZPOOL} add ${name1} raidz1 ${disk0} ${disk1} ${disk2}
174 exp=`(
175   echo "  pool: ${name1}"
176   echo " state: ONLINE"
177   echo " scrub: none requested"
178   echo "config:"
179   echo "        NAME          STATE   READ WRITE CKSUM"
180   echo "        ${name1}      ONLINE     0     0     0"
181   echo "          raidz1      ONLINE     0     0     0"
182   echo "            ${disk3}  ONLINE     0     0     0"
183   echo "            ${disk4}  ONLINE     0     0     0"
184   echo "            ${disk5}  ONLINE     0     0     0"
185   echo "errors: No known data errors"
186 )`
187 expect "${exp}" ${ZPOOL} status ${name1}
188 expect_ok ${ZPOOL} add -f ${name1} raidz1 ${disk0} ${disk1} ${disk2}
189 exp=`(
190   echo "  pool: ${name1}"
191   echo " state: ONLINE"
192   echo " scrub: none requested"
193   echo "config:"
194   echo "        NAME          STATE   READ WRITE CKSUM"
195   echo "        ${name1}      ONLINE     0     0     0"
196   echo "          raidz1      ONLINE     0     0     0"
197   echo "            ${disk3}  ONLINE     0     0     0"
198   echo "            ${disk4}  ONLINE     0     0     0"
199   echo "            ${disk5}  ONLINE     0     0     0"
200   echo "          raidz1      ONLINE     0     0     0"
201   echo "            ${disk0}  ONLINE     0     0     0"
202   echo "            ${disk1}  ONLINE     0     0     0"
203   echo "            ${disk2}  ONLINE     0     0     0"
204   echo "errors: No known data errors"
205 )`
206 expect "${exp}" ${ZPOOL} status ${name1}
207 expect_ok ${ZPOOL} destroy ${name1}
208
209 expect_ok ${ZPOOL} create ${name0} ${disk0}
210 expect_ok ${ZPOOL} export ${name0}
211 expect_ok ${ZPOOL} create ${name1} raidz1 ${disk1} ${disk2} ${disk3}
212 exp=`(
213   echo "invalid vdev specification"
214   echo "use '-f' to override the following errors:"
215   echo "${fdisk0} is part of exported pool '${name0}'"
216 )`
217 expect "${exp}" ${ZPOOL} add ${name1} raidz1 ${disk4} ${disk5} ${disk0}
218 exp=`(
219   echo "  pool: ${name1}"
220   echo " state: ONLINE"
221   echo " scrub: none requested"
222   echo "config:"
223   echo "        NAME          STATE   READ WRITE CKSUM"
224   echo "        ${name1}      ONLINE     0     0     0"
225   echo "          raidz1      ONLINE     0     0     0"
226   echo "            ${disk1}  ONLINE     0     0     0"
227   echo "            ${disk2}  ONLINE     0     0     0"
228   echo "            ${disk3}  ONLINE     0     0     0"
229   echo "errors: No known data errors"
230 )`
231 expect "${exp}" ${ZPOOL} status ${name1}
232 expect_ok ${ZPOOL} add -f ${name1} raidz1 ${disk4} ${disk5} ${disk0}
233 exp=`(
234   echo "  pool: ${name1}"
235   echo " state: ONLINE"
236   echo " scrub: none requested"
237   echo "config:"
238   echo "        NAME          STATE   READ WRITE CKSUM"
239   echo "        ${name1}      ONLINE     0     0     0"
240   echo "          raidz1      ONLINE     0     0     0"
241   echo "            ${disk1}  ONLINE     0     0     0"
242   echo "            ${disk2}  ONLINE     0     0     0"
243   echo "            ${disk3}  ONLINE     0     0     0"
244   echo "          raidz1      ONLINE     0     0     0"
245   echo "            ${disk4}  ONLINE     0     0     0"
246   echo "            ${disk5}  ONLINE     0     0     0"
247   echo "            ${disk0}  ONLINE     0     0     0"
248   echo "errors: No known data errors"
249 )`
250 expect "${exp}" ${ZPOOL} status ${name1}
251 expect_ok ${ZPOOL} destroy ${name1}
252
253 expect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
254 expect_ok ${ZPOOL} export ${name0}
255 expect_ok ${ZPOOL} create ${name1} raidz2 ${disk4} ${disk5} ${disk6} ${disk7}
256 exp=`(
257   echo "invalid vdev specification"
258   echo "use '-f' to override the following errors:"
259   echo "${fdisk0} is part of exported pool '${name0}'"
260 )`
261 expect "${exp}" ${ZPOOL} add ${name1} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
262 exp=`(
263   echo "  pool: ${name1}"
264   echo " state: ONLINE"
265   echo " scrub: none requested"
266   echo "config:"
267   echo "        NAME          STATE   READ WRITE CKSUM"
268   echo "        ${name1}      ONLINE     0     0     0"
269   echo "          raidz2      ONLINE     0     0     0"
270   echo "            ${disk4}  ONLINE     0     0     0"
271   echo "            ${disk5}  ONLINE     0     0     0"
272   echo "            ${disk6}  ONLINE     0     0     0"
273   echo "            ${disk7}  ONLINE     0     0     0"
274   echo "errors: No known data errors"
275 )`
276 expect "${exp}" ${ZPOOL} status ${name1}
277 expect_ok ${ZPOOL} add -f ${name1} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
278 exp=`(
279   echo "  pool: ${name1}"
280   echo " state: ONLINE"
281   echo " scrub: none requested"
282   echo "config:"
283   echo "        NAME          STATE   READ WRITE CKSUM"
284   echo "        ${name1}      ONLINE     0     0     0"
285   echo "          raidz2      ONLINE     0     0     0"
286   echo "            ${disk4}  ONLINE     0     0     0"
287   echo "            ${disk5}  ONLINE     0     0     0"
288   echo "            ${disk6}  ONLINE     0     0     0"
289   echo "            ${disk7}  ONLINE     0     0     0"
290   echo "          raidz2      ONLINE     0     0     0"
291   echo "            ${disk0}  ONLINE     0     0     0"
292   echo "            ${disk1}  ONLINE     0     0     0"
293   echo "            ${disk2}  ONLINE     0     0     0"
294   echo "            ${disk3}  ONLINE     0     0     0"
295   echo "errors: No known data errors"
296 )`
297 expect "${exp}" ${ZPOOL} status ${name1}
298 expect_ok ${ZPOOL} destroy ${name1}
299
300 expect_ok ${ZPOOL} create ${name0} ${disk0}
301 expect_ok ${ZPOOL} export ${name0}
302 expect_ok ${ZPOOL} create ${name1} raidz2 ${disk1} ${disk2} ${disk3} ${disk4}
303 exp=`(
304   echo "invalid vdev specification"
305   echo "use '-f' to override the following errors:"
306   echo "${fdisk0} is part of exported pool '${name0}'"
307 )`
308 expect "${exp}" ${ZPOOL} add ${name1} raidz2 ${disk5} ${disk6} ${disk0} ${disk7}
309 exp=`(
310   echo "  pool: ${name1}"
311   echo " state: ONLINE"
312   echo " scrub: none requested"
313   echo "config:"
314   echo "        NAME          STATE   READ WRITE CKSUM"
315   echo "        ${name1}      ONLINE     0     0     0"
316   echo "          raidz2      ONLINE     0     0     0"
317   echo "            ${disk1}  ONLINE     0     0     0"
318   echo "            ${disk2}  ONLINE     0     0     0"
319   echo "            ${disk3}  ONLINE     0     0     0"
320   echo "            ${disk4}  ONLINE     0     0     0"
321   echo "errors: No known data errors"
322 )`
323 expect "${exp}" ${ZPOOL} status ${name1}
324 expect_ok ${ZPOOL} add -f ${name1} raidz2 ${disk5} ${disk6} ${disk0} ${disk7}
325 exp=`(
326   echo "  pool: ${name1}"
327   echo " state: ONLINE"
328   echo " scrub: none requested"
329   echo "config:"
330   echo "        NAME          STATE   READ WRITE CKSUM"
331   echo "        ${name1}      ONLINE     0     0     0"
332   echo "          raidz2      ONLINE     0     0     0"
333   echo "            ${disk1}  ONLINE     0     0     0"
334   echo "            ${disk2}  ONLINE     0     0     0"
335   echo "            ${disk3}  ONLINE     0     0     0"
336   echo "            ${disk4}  ONLINE     0     0     0"
337   echo "          raidz2      ONLINE     0     0     0"
338   echo "            ${disk5}  ONLINE     0     0     0"
339   echo "            ${disk6}  ONLINE     0     0     0"
340   echo "            ${disk0}  ONLINE     0     0     0"
341   echo "            ${disk7}  ONLINE     0     0     0"
342   echo "errors: No known data errors"
343 )`
344 expect "${exp}" ${ZPOOL} status ${name1}
345 expect_ok ${ZPOOL} destroy ${name1}
346
347 expect_ok ${ZPOOL} create ${name0} ${disk0}
348 expect_ok ${ZPOOL} export ${name0}
349 expect_ok ${ZPOOL} create ${name1} ${disk1}
350 exp=`(
351   echo "invalid vdev specification"
352   echo "use '-f' to override the following errors:"
353   echo "${fdisk0} is part of exported pool '${name0}'"
354 )`
355 expect "${exp}" ${ZPOOL} add ${name1} log ${disk0}
356 exp=`(
357   echo "  pool: ${name1}"
358   echo " state: ONLINE"
359   echo " scrub: none requested"
360   echo "config:"
361   echo "        NAME        STATE   READ WRITE CKSUM"
362   echo "        ${name1}    ONLINE     0     0     0"
363   echo "          ${disk1}  ONLINE     0     0     0"
364   echo "errors: No known data errors"
365 )`
366 expect "${exp}" ${ZPOOL} status ${name1}
367 expect_ok ${ZPOOL} add -f ${name1} log ${disk0}
368 exp=`(
369   echo "  pool: ${name1}"
370   echo " state: ONLINE"
371   echo " scrub: none requested"
372   echo "config:"
373   echo "        NAME          STATE   READ WRITE CKSUM"
374   echo "        ${name1}      ONLINE     0     0     0"
375   echo "          ${disk1}    ONLINE     0     0     0"
376   echo "          logs        ONLINE     0     0     0"
377   echo "            ${disk0}  ONLINE     0     0     0"
378   echo "errors: No known data errors"
379 )`
380 expect "${exp}" ${ZPOOL} status ${name1}
381 expect_ok ${ZPOOL} destroy ${name1}
382
383 expect_ok ${ZPOOL} create ${name0} ${disk0}
384 expect_ok ${ZPOOL} export ${name0}
385 expect_ok ${ZPOOL} create ${name1} ${disk1}
386 exp=`(
387   echo "invalid vdev specification"
388   echo "use '-f' to override the following errors:"
389   echo "${fdisk0} is part of exported pool '${name0}'"
390 )`
391 expect "${exp}" ${ZPOOL} add ${name1} log ${disk2} ${disk0}
392 exp=`(
393   echo "  pool: ${name1}"
394   echo " state: ONLINE"
395   echo " scrub: none requested"
396   echo "config:"
397   echo "        NAME        STATE   READ WRITE CKSUM"
398   echo "        ${name1}    ONLINE     0     0     0"
399   echo "          ${disk1}  ONLINE     0     0     0"
400   echo "errors: No known data errors"
401 )`
402 expect "${exp}" ${ZPOOL} status ${name1}
403 expect_ok ${ZPOOL} add -f ${name1} log ${disk2} ${disk0}
404 exp=`(
405   echo "  pool: ${name1}"
406   echo " state: ONLINE"
407   echo " scrub: none requested"
408   echo "config:"
409   echo "        NAME          STATE   READ WRITE CKSUM"
410   echo "        ${name1}      ONLINE     0     0     0"
411   echo "          ${disk1}    ONLINE     0     0     0"
412   echo "          logs        ONLINE     0     0     0"
413   echo "            ${disk2}  ONLINE     0     0     0"
414   echo "            ${disk0}  ONLINE     0     0     0"
415   echo "errors: No known data errors"
416 )`
417 expect "${exp}" ${ZPOOL} status ${name1}
418 expect_ok ${ZPOOL} destroy ${name1}
419
420 expect_ok ${ZPOOL} create ${name0} ${disk0} log ${disk1}
421 expect_ok ${ZPOOL} export ${name0}
422 expect_ok ${ZPOOL} create ${name1} ${disk2}
423 exp=`(
424   echo "invalid vdev specification"
425   echo "use '-f' to override the following errors:"
426   echo "${fdisk1} is part of exported pool '${name0}'"
427 )`
428 expect "${exp}" ${ZPOOL} add ${name1} log mirror ${disk1} ${disk0}
429 exp=`(
430   echo "  pool: ${name1}"
431   echo " state: ONLINE"
432   echo " scrub: none requested"
433   echo "config:"
434   echo "        NAME        STATE   READ WRITE CKSUM"
435   echo "        ${name1}    ONLINE     0     0     0"
436   echo "          ${disk2}  ONLINE     0     0     0"
437   echo "errors: No known data errors"
438 )`
439 expect "${exp}" ${ZPOOL} status ${name1}
440 expect_ok ${ZPOOL} add -f ${name1} log mirror ${disk1} ${disk0}
441 exp=`(
442   echo "  pool: ${name1}"
443   echo " state: ONLINE"
444   echo " scrub: none requested"
445   echo "config:"
446   echo "        NAME            STATE   READ WRITE CKSUM"
447   echo "        ${name1}        ONLINE     0     0     0"
448   echo "          ${disk2}      ONLINE     0     0     0"
449   echo "          logs          ONLINE     0     0     0"
450   echo "            mirror      ONLINE     0     0     0"
451   echo "              ${disk1}  ONLINE     0     0     0"
452   echo "              ${disk0}  ONLINE     0     0     0"
453   echo "errors: No known data errors"
454 )`
455 expect "${exp}" ${ZPOOL} status ${name1}
456 expect_ok ${ZPOOL} destroy ${name1}
457
458 expect_ok ${ZPOOL} create ${name0} ${disk0}
459 expect_ok ${ZPOOL} export ${name0}
460 expect_ok ${ZPOOL} create ${name1} ${disk1}
461 exp=`(
462   echo "invalid vdev specification"
463   echo "use '-f' to override the following errors:"
464   echo "${fdisk0} is part of exported pool '${name0}'"
465 )`
466 expect "${exp}" ${ZPOOL} add ${name1} log mirror ${disk2} ${disk0}
467 exp=`(
468   echo "  pool: ${name1}"
469   echo " state: ONLINE"
470   echo " scrub: none requested"
471   echo "config:"
472   echo "        NAME        STATE   READ WRITE CKSUM"
473   echo "        ${name1}    ONLINE     0     0     0"
474   echo "          ${disk1}  ONLINE     0     0     0"
475   echo "errors: No known data errors"
476 )`
477 expect "${exp}" ${ZPOOL} status ${name1}
478 expect_ok ${ZPOOL} add -f ${name1} log mirror ${disk2} ${disk0}
479 exp=`(
480   echo "  pool: ${name1}"
481   echo " state: ONLINE"
482   echo " scrub: none requested"
483   echo "config:"
484   echo "        NAME            STATE   READ WRITE CKSUM"
485   echo "        ${name1}        ONLINE     0     0     0"
486   echo "          ${disk1}      ONLINE     0     0     0"
487   echo "          logs          ONLINE     0     0     0"
488   echo "            mirror      ONLINE     0     0     0"
489   echo "              ${disk2}  ONLINE     0     0     0"
490   echo "              ${disk0}  ONLINE     0     0     0"
491   echo "errors: No known data errors"
492 )`
493 expect "${exp}" ${ZPOOL} status ${name1}
494 expect_ok ${ZPOOL} destroy ${name1}
495
496 expect_ok ${ZPOOL} create ${name0} ${disk1} cache ${disk0}
497 expect_ok ${ZPOOL} export ${name0}
498 expect_ok ${ZPOOL} create ${name1} ${disk2}
499 exp=`(
500   echo "invalid vdev specification"
501   echo "use '-f' to override the following errors:"
502   echo "${fdisk0} is part of exported pool '${name0}'"
503 )`
504 add_msg="# TODO It shouldn't be possible to use offlined cache vdevs."
505 expect "${exp}" ${ZPOOL} add ${name1} cache ${disk0}
506 exp=`(
507   echo "  pool: ${name1}"
508   echo " state: ONLINE"
509   echo " scrub: none requested"
510   echo "config:"
511   echo "        NAME        STATE   READ WRITE CKSUM"
512   echo "        ${name1}    ONLINE     0     0     0"
513   echo "          ${disk2}  ONLINE     0     0     0"
514   echo "errors: No known data errors"
515 )`
516 expect "${exp}" ${ZPOOL} status ${name1}
517 expect_ok ${ZPOOL} add -f ${name1} cache ${disk0}
518 add_msg=""
519 exp=`(
520   echo "  pool: ${name1}"
521   echo " state: ONLINE"
522   echo " scrub: none requested"
523   echo "config:"
524   echo "        NAME          STATE   READ WRITE CKSUM"
525   echo "        ${name1}      ONLINE     0     0     0"
526   echo "          ${disk2}    ONLINE     0     0     0"
527   echo "          cache"
528   echo "            ${disk0}  ONLINE     0     0     0"
529   echo "errors: No known data errors"
530 )`
531 expect "${exp}" ${ZPOOL} status ${name1}
532 expect_ok ${ZPOOL} destroy ${name1}
533 expect_ok ${ZPOOL} import ${name0}
534 expect_ok ${ZPOOL} destroy ${name0}
535
536 expect_ok ${ZPOOL} create ${name0} ${disk1} cache ${disk0}
537 expect_ok ${ZPOOL} export ${name0}
538 expect_ok ${ZPOOL} create ${name1} ${disk2}
539 exp=`(
540   echo "invalid vdev specification"
541   echo "use '-f' to override the following errors:"
542   echo "${fdisk0} is part of exported pool '${name0}'"
543 )`
544 add_msg="# TODO It shouldn't be possible to use offlined cache vdevs."
545 expect "${exp}" ${ZPOOL} add ${name1} cache ${disk3} ${disk0}
546 exp=`(
547   echo "  pool: ${name1}"
548   echo " state: ONLINE"
549   echo " scrub: none requested"
550   echo "config:"
551   echo "        NAME        STATE   READ WRITE CKSUM"
552   echo "        ${name1}    ONLINE     0     0     0"
553   echo "          ${disk2}  ONLINE     0     0     0"
554   echo "errors: No known data errors"
555 )`
556 expect "${exp}" ${ZPOOL} status ${name1}
557 expect_ok ${ZPOOL} add -f ${name1} cache ${disk3} ${disk0}
558 add_msg=""
559 exp=`(
560   echo "  pool: ${name1}"
561   echo " state: ONLINE"
562   echo " scrub: none requested"
563   echo "config:"
564   echo "        NAME          STATE   READ WRITE CKSUM"
565   echo "        ${name1}      ONLINE     0     0     0"
566   echo "          ${disk2}    ONLINE     0     0     0"
567   echo "          cache"
568   echo "            ${disk3}  ONLINE     0     0     0"
569   echo "            ${disk0}  ONLINE     0     0     0"
570   echo "errors: No known data errors"
571 )`
572 expect "${exp}" ${ZPOOL} status ${name1}
573 expect_ok ${ZPOOL} destroy ${name1}
574 expect_ok ${ZPOOL} import ${name0}
575 expect_ok ${ZPOOL} destroy ${name0}
576
577 expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
578 expect_ok ${ZPOOL} offline ${name0} ${disk0}
579 expect_ok ${ZPOOL} export ${name0}
580 expect_ok ${ZPOOL} create ${name1} ${disk2}
581 exp=`(
582   echo "invalid vdev specification"
583   echo "use '-f' to override the following errors:"
584   echo "${fdisk0} is part of potentially active pool '${name0}'"
585 )`
586 expect "${exp}" ${ZPOOL} add ${name1} ${disk0}
587 exp=`(
588   echo "  pool: ${name1}"
589   echo " state: ONLINE"
590   echo " scrub: none requested"
591   echo "config:"
592   echo "        NAME        STATE   READ WRITE CKSUM"
593   echo "        ${name1}    ONLINE     0     0     0"
594   echo "          ${disk2}  ONLINE     0     0     0"
595   echo "errors: No known data errors"
596 )`
597 expect "${exp}" ${ZPOOL} status ${name1}
598 expect_ok ${ZPOOL} add -f ${name1} ${disk0}
599 exp=`(
600   echo "  pool: ${name1}"
601   echo " state: ONLINE"
602   echo " scrub: none requested"
603   echo "config:"
604   echo "        NAME        STATE   READ WRITE CKSUM"
605   echo "        ${name1}    ONLINE     0     0     0"
606   echo "          ${disk2}  ONLINE     0     0     0"
607   echo "          ${disk0}  ONLINE     0     0     0"
608   echo "errors: No known data errors"
609 )`
610 expect "${exp}" ${ZPOOL} status ${name1}
611 expect_ok ${ZPOOL} destroy ${name1}
612 expect_ok ${ZPOOL} import ${name0}
613 expect_ok ${ZPOOL} destroy ${name0}
614
615 expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
616 expect_ok ${ZPOOL} offline ${name0} ${disk0}
617 expect_ok ${ZPOOL} export ${name0}
618 expect_ok ${ZPOOL} create ${name1} mirror ${disk2} ${disk3}
619 exp=`(
620   echo "invalid vdev specification"
621   echo "use '-f' to override the following errors:"
622   echo "${fdisk0} is part of potentially active pool '${name0}'"
623 )`
624 expect "${exp}" ${ZPOOL} add ${name1} mirror ${disk0} ${disk4}
625 exp=`(
626   echo "  pool: ${name1}"
627   echo " state: ONLINE"
628   echo " scrub: none requested"
629   echo "config:"
630   echo "        NAME          STATE   READ WRITE CKSUM"
631   echo "        ${name1}      ONLINE     0     0     0"
632   echo "          mirror      ONLINE     0     0     0"
633   echo "            ${disk2}  ONLINE     0     0     0"
634   echo "            ${disk3}  ONLINE     0     0     0"
635   echo "errors: No known data errors"
636 )`
637 expect "${exp}" ${ZPOOL} status ${name1}
638 expect_ok ${ZPOOL} add -f ${name1} mirror ${disk0} ${disk4}
639 exp=`(
640   echo "  pool: ${name1}"
641   echo " state: ONLINE"
642   echo " scrub: none requested"
643   echo "config:"
644   echo "        NAME          STATE   READ WRITE CKSUM"
645   echo "        ${name1}      ONLINE     0     0     0"
646   echo "          mirror      ONLINE     0     0     0"
647   echo "            ${disk2}  ONLINE     0     0     0"
648   echo "            ${disk3}  ONLINE     0     0     0"
649   echo "          mirror      ONLINE     0     0     0"
650   echo "            ${disk0}  ONLINE     0     0     0"
651   echo "            ${disk4}  ONLINE     0     0     0"
652   echo "errors: No known data errors"
653 )`
654 expect "${exp}" ${ZPOOL} status ${name1}
655 expect_ok ${ZPOOL} destroy ${name1}
656 expect_ok ${ZPOOL} import ${name0}
657 expect_ok ${ZPOOL} destroy ${name0}
658
659 expect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
660 expect_ok ${ZPOOL} offline ${name0} ${disk0}
661 expect_ok ${ZPOOL} export ${name0}
662 expect_ok ${ZPOOL} create ${name1} raidz1 ${disk3} ${disk4} ${disk5}
663 exp=`(
664   echo "invalid vdev specification"
665   echo "use '-f' to override the following errors:"
666   echo "${fdisk0} is part of potentially active pool '${name0}'"
667 )`
668 expect "${exp}" ${ZPOOL} add ${name1} raidz1 ${disk0} ${disk6} ${disk7}
669 exp=`(
670   echo "  pool: ${name1}"
671   echo " state: ONLINE"
672   echo " scrub: none requested"
673   echo "config:"
674   echo "        NAME          STATE   READ WRITE CKSUM"
675   echo "        ${name1}      ONLINE     0     0     0"
676   echo "          raidz1      ONLINE     0     0     0"
677   echo "            ${disk3}  ONLINE     0     0     0"
678   echo "            ${disk4}  ONLINE     0     0     0"
679   echo "            ${disk5}  ONLINE     0     0     0"
680   echo "errors: No known data errors"
681 )`
682 expect "${exp}" ${ZPOOL} status ${name1}
683 expect_ok ${ZPOOL} add -f ${name1} raidz1 ${disk0} ${disk6} ${disk7}
684 exp=`(
685   echo "  pool: ${name1}"
686   echo " state: ONLINE"
687   echo " scrub: none requested"
688   echo "config:"
689   echo "        NAME          STATE   READ WRITE CKSUM"
690   echo "        ${name1}      ONLINE     0     0     0"
691   echo "          raidz1      ONLINE     0     0     0"
692   echo "            ${disk3}  ONLINE     0     0     0"
693   echo "            ${disk4}  ONLINE     0     0     0"
694   echo "            ${disk5}  ONLINE     0     0     0"
695   echo "          raidz1      ONLINE     0     0     0"
696   echo "            ${disk0}  ONLINE     0     0     0"
697   echo "            ${disk6}  ONLINE     0     0     0"
698   echo "            ${disk7}  ONLINE     0     0     0"
699   echo "errors: No known data errors"
700 )`
701 expect "${exp}" ${ZPOOL} status ${name1}
702 expect_ok ${ZPOOL} destroy ${name1}
703 expect_ok ${ZPOOL} import ${name0}
704 expect_ok ${ZPOOL} destroy ${name0}
705
706 expect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
707 expect_ok ${ZPOOL} offline ${name0} ${disk0}
708 expect_ok ${ZPOOL} export ${name0}
709 expect_ok ${ZPOOL} create ${name1} raidz2 ${disk4} ${disk5} ${disk6} ${disk7}
710 exp=`(
711   echo "invalid vdev specification"
712   echo "use '-f' to override the following errors:"
713   echo "${fdisk0} is part of potentially active pool '${name0}'"
714 )`
715 expect "${exp}" ${ZPOOL} add ${name1} raidz2 ${disk0} ${disk8} ${disk9} ${disk10}
716 exp=`(
717   echo "  pool: ${name1}"
718   echo " state: ONLINE"
719   echo " scrub: none requested"
720   echo "config:"
721   echo "        NAME          STATE   READ WRITE CKSUM"
722   echo "        ${name1}      ONLINE     0     0     0"
723   echo "          raidz2      ONLINE     0     0     0"
724   echo "            ${disk4}  ONLINE     0     0     0"
725   echo "            ${disk5}  ONLINE     0     0     0"
726   echo "            ${disk6}  ONLINE     0     0     0"
727   echo "            ${disk7}  ONLINE     0     0     0"
728   echo "errors: No known data errors"
729 )`
730 expect "${exp}" ${ZPOOL} status ${name1}
731 expect_ok ${ZPOOL} add -f ${name1} raidz2 ${disk0} ${disk8} ${disk9} ${disk10}
732 exp=`(
733   echo "  pool: ${name1}"
734   echo " state: ONLINE"
735   echo " scrub: none requested"
736   echo "config:"
737   echo "        NAME           STATE   READ WRITE CKSUM"
738   echo "        ${name1}       ONLINE     0     0     0"
739   echo "          raidz2       ONLINE     0     0     0"
740   echo "            ${disk4}   ONLINE     0     0     0"
741   echo "            ${disk5}   ONLINE     0     0     0"
742   echo "            ${disk6}   ONLINE     0     0     0"
743   echo "            ${disk7}   ONLINE     0     0     0"
744   echo "          raidz2       ONLINE     0     0     0"
745   echo "            ${disk0}   ONLINE     0     0     0"
746   echo "            ${disk8}   ONLINE     0     0     0"
747   echo "            ${disk9}   ONLINE     0     0     0"
748   echo "            ${disk10}  ONLINE     0     0     0"
749   echo "errors: No known data errors"
750 )`
751 expect "${exp}" ${ZPOOL} status ${name1}
752 expect_ok ${ZPOOL} destroy ${name1}
753 expect_ok ${ZPOOL} import ${name0}
754 expect_ok ${ZPOOL} destroy ${name0}
755
756 expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
757 expect_ok ${ZPOOL} offline ${name0} ${disk0}
758 expect_ok ${ZPOOL} export ${name0}
759 expect_ok ${ZPOOL} create ${name1} ${disk2}
760 exp=`(
761   echo "invalid vdev specification"
762   echo "use '-f' to override the following errors:"
763   echo "${fdisk0} is part of potentially active pool '${name0}'"
764 )`
765 expect "${exp}" ${ZPOOL} add ${name1} log ${disk0}
766 exp=`(
767   echo "  pool: ${name1}"
768   echo " state: ONLINE"
769   echo " scrub: none requested"
770   echo "config:"
771   echo "        NAME        STATE   READ WRITE CKSUM"
772   echo "        ${name1}    ONLINE     0     0     0"
773   echo "          ${disk2}  ONLINE     0     0     0"
774   echo "errors: No known data errors"
775 )`
776 expect "${exp}" ${ZPOOL} status ${name1}
777 expect_ok ${ZPOOL} add -f ${name1} log ${disk0}
778 exp=`(
779   echo "  pool: ${name1}"
780   echo " state: ONLINE"
781   echo " scrub: none requested"
782   echo "config:"
783   echo "        NAME          STATE   READ WRITE CKSUM"
784   echo "        ${name1}      ONLINE     0     0     0"
785   echo "          ${disk2}    ONLINE     0     0     0"
786   echo "          logs        ONLINE     0     0     0"
787   echo "            ${disk0}  ONLINE     0     0     0"
788   echo "errors: No known data errors"
789 )`
790 expect "${exp}" ${ZPOOL} status ${name1}
791 expect_ok ${ZPOOL} destroy ${name1}
792 expect_ok ${ZPOOL} import ${name0}
793 expect_ok ${ZPOOL} destroy ${name0}
794
795 expect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2}
796 expect_ok ${ZPOOL} offline ${name0} ${disk1}
797 expect_ok ${ZPOOL} export ${name0}
798 expect_ok ${ZPOOL} create ${name1} ${disk3}
799 exp=`(
800   echo "invalid vdev specification"
801   echo "use '-f' to override the following errors:"
802   echo "${fdisk1} is part of potentially active pool '${name0}'"
803 )`
804 expect "${exp}" ${ZPOOL} add ${name1} log mirror ${disk1} ${disk4}
805 exp=`(
806   echo "  pool: ${name1}"
807   echo " state: ONLINE"
808   echo " scrub: none requested"
809   echo "config:"
810   echo "        NAME        STATE   READ WRITE CKSUM"
811   echo "        ${name1}    ONLINE     0     0     0"
812   echo "          ${disk3}  ONLINE     0     0     0"
813   echo "errors: No known data errors"
814 )`
815 expect "${exp}" ${ZPOOL} status ${name1}
816 expect_ok ${ZPOOL} add -f ${name1} log mirror ${disk1} ${disk4}
817 exp=`(
818   echo "  pool: ${name1}"
819   echo " state: ONLINE"
820   echo " scrub: none requested"
821   echo "config:"
822   echo "        NAME            STATE   READ WRITE CKSUM"
823   echo "        ${name1}        ONLINE     0     0     0"
824   echo "          ${disk3}      ONLINE     0     0     0"
825   echo "          logs          ONLINE     0     0     0"
826   echo "            mirror      ONLINE     0     0     0"
827   echo "              ${disk1}  ONLINE     0     0     0"
828   echo "              ${disk4}  ONLINE     0     0     0"
829   echo "errors: No known data errors"
830 )`
831 expect "${exp}" ${ZPOOL} status ${name1}
832 expect_ok ${ZPOOL} destroy ${name1}
833 expect_ok ${ZPOOL} import ${name0}
834 expect_ok ${ZPOOL} destroy ${name0}
835
836 expect_ok ${ZPOOL} create ${name0} ${disk1} cache ${disk0}
837 expect_ok ${ZPOOL} offline ${name0} ${disk0}
838 expect_ok ${ZPOOL} export ${name0}
839 expect_ok ${ZPOOL} create ${name1} ${disk2}
840 exp=`(
841   echo "invalid vdev specification"
842   echo "use '-f' to override the following errors:"
843   echo "${fdisk0} is part of potentially active pool '${name0}'"
844 )`
845 add_msg="# TODO It shouldn't be possible to use offlined cache vdevs."
846 expect "${exp}" ${ZPOOL} add ${name1} cache ${disk0}
847 exp=`(
848   echo "  pool: ${name1}"
849   echo " state: ONLINE"
850   echo " scrub: none requested"
851   echo "config:"
852   echo "        NAME        STATE   READ WRITE CKSUM"
853   echo "        ${name1}    ONLINE     0     0     0"
854   echo "          ${disk2}  ONLINE     0     0     0"
855   echo "errors: No known data errors"
856 )`
857 expect "${exp}" ${ZPOOL} status ${name1}
858 expect_ok ${ZPOOL} add -f ${name1} cache ${disk0}
859 add_msg=""
860 exp=`(
861   echo "  pool: ${name1}"
862   echo " state: ONLINE"
863   echo " scrub: none requested"
864   echo "config:"
865   echo "        NAME          STATE   READ WRITE CKSUM"
866   echo "        ${name1}      ONLINE     0     0     0"
867   echo "          ${disk2}    ONLINE     0     0     0"
868   echo "          cache"
869   echo "            ${disk0}  ONLINE     0     0     0"
870   echo "errors: No known data errors"
871 )`
872 expect "${exp}" ${ZPOOL} status ${name1}
873 expect_ok ${ZPOOL} destroy ${name1}
874 expect_ok ${ZPOOL} import ${name0}
875 expect_ok ${ZPOOL} destroy ${name0}
876
877 expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
878 expect_ok ${ZPOOL} offline ${name0} ${disk0}
879 expect_ok ${ZPOOL} create ${name1} ${disk2}
880 exp=`(
881   echo "invalid vdev specification"
882   echo "use '-f' to override the following errors:"
883   echo "${fdisk0} is part of active pool '${name0}'"
884 )`
885 expect "${exp}" ${ZPOOL} add ${name1} ${disk0}
886 exp=`(
887   echo "  pool: ${name1}"
888   echo " state: ONLINE"
889   echo " scrub: none requested"
890   echo "config:"
891   echo "        NAME        STATE   READ WRITE CKSUM"
892   echo "        ${name1}    ONLINE     0     0     0"
893   echo "          ${disk2}  ONLINE     0     0     0"
894   echo "errors: No known data errors"
895 )`
896 expect "${exp}" ${ZPOOL} status ${name1}
897 exp=`(
898   echo "invalid vdev specification"
899   echo "the following errors must be manually repaired:"
900   echo "${fdisk0} is part of active pool '${name0}'"
901 )`
902 expect "${exp}" ${ZPOOL} add -f ${name1} ${disk0}
903 exp=`(
904   echo "  pool: ${name1}"
905   echo " state: ONLINE"
906   echo " scrub: none requested"
907   echo "config:"
908   echo "        NAME        STATE   READ WRITE CKSUM"
909   echo "        ${name1}    ONLINE     0     0     0"
910   echo "          ${disk2}  ONLINE     0     0     0"
911   echo "errors: No known data errors"
912 )`
913 expect "${exp}" ${ZPOOL} status ${name1}
914 expect_ok ${ZPOOL} destroy ${name1}
915 expect_ok ${ZPOOL} online ${name0} ${disk0}
916 expect_ok ${ZPOOL} destroy ${name0}
917
918 expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
919 expect_ok ${ZPOOL} offline ${name0} ${disk0}
920 expect_ok ${ZPOOL} create ${name1} mirror ${disk2} ${disk3}
921 exp=`(
922   echo "invalid vdev specification"
923   echo "use '-f' to override the following errors:"
924   echo "${fdisk0} is part of active pool '${name0}'"
925 )`
926 expect "${exp}" ${ZPOOL} add ${name1} mirror ${disk0} ${disk4}
927 exp=`(
928   echo "  pool: ${name1}"
929   echo " state: ONLINE"
930   echo " scrub: none requested"
931   echo "config:"
932   echo "        NAME          STATE   READ WRITE CKSUM"
933   echo "        ${name1}      ONLINE     0     0     0"
934   echo "          mirror      ONLINE     0     0     0"
935   echo "            ${disk2}  ONLINE     0     0     0"
936   echo "            ${disk3}  ONLINE     0     0     0"
937   echo "errors: No known data errors"
938 )`
939 expect "${exp}" ${ZPOOL} status ${name1}
940 exp=`(
941   echo "invalid vdev specification"
942   echo "the following errors must be manually repaired:"
943   echo "${fdisk0} is part of active pool '${name0}'"
944 )`
945 expect "${exp}" ${ZPOOL} add -f ${name1} mirror ${disk0} ${disk4}
946 exp=`(
947   echo "  pool: ${name1}"
948   echo " state: ONLINE"
949   echo " scrub: none requested"
950   echo "config:"
951   echo "        NAME          STATE   READ WRITE CKSUM"
952   echo "        ${name1}      ONLINE     0     0     0"
953   echo "          mirror      ONLINE     0     0     0"
954   echo "            ${disk2}  ONLINE     0     0     0"
955   echo "            ${disk3}  ONLINE     0     0     0"
956   echo "errors: No known data errors"
957 )`
958 expect "${exp}" ${ZPOOL} status ${name1}
959 expect_ok ${ZPOOL} destroy ${name1}
960 expect_ok ${ZPOOL} online ${name0} ${disk0}
961 expect_ok ${ZPOOL} destroy ${name0}
962
963 expect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
964 expect_ok ${ZPOOL} offline ${name0} ${disk0}
965 expect_ok ${ZPOOL} create ${name1} raidz1 ${disk3} ${disk4} ${disk5}
966 exp=`(
967   echo "invalid vdev specification"
968   echo "use '-f' to override the following errors:"
969   echo "${fdisk0} is part of active pool '${name0}'"
970 )`
971 expect "${exp}" ${ZPOOL} add ${name1} raidz1 ${disk0} ${disk6} ${disk7}
972 exp=`(
973   echo "  pool: ${name1}"
974   echo " state: ONLINE"
975   echo " scrub: none requested"
976   echo "config:"
977   echo "        NAME          STATE   READ WRITE CKSUM"
978   echo "        ${name1}      ONLINE     0     0     0"
979   echo "          raidz1      ONLINE     0     0     0"
980   echo "            ${disk3}  ONLINE     0     0     0"
981   echo "            ${disk4}  ONLINE     0     0     0"
982   echo "            ${disk5}  ONLINE     0     0     0"
983   echo "errors: No known data errors"
984 )`
985 expect "${exp}" ${ZPOOL} status ${name1}
986 exp=`(
987   echo "invalid vdev specification"
988   echo "the following errors must be manually repaired:"
989   echo "${fdisk0} is part of active pool '${name0}'"
990 )`
991 expect "${exp}" ${ZPOOL} add -f ${name1} raidz1 ${disk0} ${disk6} ${disk7}
992 exp=`(
993   echo "  pool: ${name1}"
994   echo " state: ONLINE"
995   echo " scrub: none requested"
996   echo "config:"
997   echo "        NAME          STATE   READ WRITE CKSUM"
998   echo "        ${name1}      ONLINE     0     0     0"
999   echo "          raidz1      ONLINE     0     0     0"
1000   echo "            ${disk3}  ONLINE     0     0     0"
1001   echo "            ${disk4}  ONLINE     0     0     0"
1002   echo "            ${disk5}  ONLINE     0     0     0"
1003   echo "errors: No known data errors"
1004 )`
1005 expect "${exp}" ${ZPOOL} status ${name1}
1006 expect_ok ${ZPOOL} destroy ${name1}
1007 expect_ok ${ZPOOL} online ${name0} ${disk0}
1008 expect_ok ${ZPOOL} destroy ${name0}
1009
1010 expect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
1011 expect_ok ${ZPOOL} offline ${name0} ${disk0}
1012 expect_ok ${ZPOOL} create ${name1} raidz2 ${disk4} ${disk5} ${disk6} ${disk7}
1013 exp=`(
1014   echo "invalid vdev specification"
1015   echo "use '-f' to override the following errors:"
1016   echo "${fdisk0} is part of active pool '${name0}'"
1017 )`
1018 expect "${exp}" ${ZPOOL} add ${name1} raidz2 ${disk0} ${disk8} ${disk9} ${disk10}
1019 exp=`(
1020   echo "  pool: ${name1}"
1021   echo " state: ONLINE"
1022   echo " scrub: none requested"
1023   echo "config:"
1024   echo "        NAME          STATE   READ WRITE CKSUM"
1025   echo "        ${name1}      ONLINE     0     0     0"
1026   echo "          raidz2      ONLINE     0     0     0"
1027   echo "            ${disk4}  ONLINE     0     0     0"
1028   echo "            ${disk5}  ONLINE     0     0     0"
1029   echo "            ${disk6}  ONLINE     0     0     0"
1030   echo "            ${disk7}  ONLINE     0     0     0"
1031   echo "errors: No known data errors"
1032 )`
1033 expect "${exp}" ${ZPOOL} status ${name1}
1034 exp=`(
1035   echo "invalid vdev specification"
1036   echo "the following errors must be manually repaired:"
1037   echo "${fdisk0} is part of active pool '${name0}'"
1038 )`
1039 expect "${exp}" ${ZPOOL} add -f ${name1} raidz2 ${disk0} ${disk8} ${disk9} ${disk10}
1040 exp=`(
1041   echo "  pool: ${name1}"
1042   echo " state: ONLINE"
1043   echo " scrub: none requested"
1044   echo "config:"
1045   echo "        NAME           STATE   READ WRITE CKSUM"
1046   echo "        ${name1}       ONLINE     0     0     0"
1047   echo "          raidz2       ONLINE     0     0     0"
1048   echo "            ${disk4}   ONLINE     0     0     0"
1049   echo "            ${disk5}   ONLINE     0     0     0"
1050   echo "            ${disk6}   ONLINE     0     0     0"
1051   echo "            ${disk7}   ONLINE     0     0     0"
1052   echo "errors: No known data errors"
1053 )`
1054 expect "${exp}" ${ZPOOL} status ${name1}
1055 expect_ok ${ZPOOL} destroy ${name1}
1056 expect_ok ${ZPOOL} online ${name0} ${disk0}
1057 expect_ok ${ZPOOL} destroy ${name0}
1058
1059 expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
1060 expect_ok ${ZPOOL} offline ${name0} ${disk0}
1061 expect_ok ${ZPOOL} create ${name1} ${disk2}
1062 exp=`(
1063   echo "invalid vdev specification"
1064   echo "use '-f' to override the following errors:"
1065   echo "${fdisk0} is part of active pool '${name0}'"
1066 )`
1067 expect "${exp}" ${ZPOOL} add ${name1} log ${disk0}
1068 exp=`(
1069   echo "  pool: ${name1}"
1070   echo " state: ONLINE"
1071   echo " scrub: none requested"
1072   echo "config:"
1073   echo "        NAME        STATE   READ WRITE CKSUM"
1074   echo "        ${name1}    ONLINE     0     0     0"
1075   echo "          ${disk2}  ONLINE     0     0     0"
1076   echo "errors: No known data errors"
1077 )`
1078 expect "${exp}" ${ZPOOL} status ${name1}
1079 exp=`(
1080   echo "invalid vdev specification"
1081   echo "the following errors must be manually repaired:"
1082   echo "${fdisk0} is part of active pool '${name0}'"
1083 )`
1084 expect "${exp}" ${ZPOOL} add -f ${name1} log ${disk0}
1085 exp=`(
1086   echo "  pool: ${name1}"
1087   echo " state: ONLINE"
1088   echo " scrub: none requested"
1089   echo "config:"
1090   echo "        NAME        STATE   READ WRITE CKSUM"
1091   echo "        ${name1}    ONLINE     0     0     0"
1092   echo "          ${disk2}  ONLINE     0     0     0"
1093   echo "errors: No known data errors"
1094 )`
1095 expect "${exp}" ${ZPOOL} status ${name1}
1096 expect_ok ${ZPOOL} destroy ${name1}
1097 expect_ok ${ZPOOL} online ${name0} ${disk0}
1098 expect_ok ${ZPOOL} destroy ${name0}
1099
1100 expect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2}
1101 expect_ok ${ZPOOL} offline ${name0} ${disk1}
1102 expect_ok ${ZPOOL} create ${name1} ${disk3}
1103 exp=`(
1104   echo "invalid vdev specification"
1105   echo "use '-f' to override the following errors:"
1106   echo "${fdisk1} is part of active pool '${name0}'"
1107 )`
1108 expect "${exp}" ${ZPOOL} add ${name1} log mirror ${disk1} ${disk4}
1109 exp=`(
1110   echo "  pool: ${name1}"
1111   echo " state: ONLINE"
1112   echo " scrub: none requested"
1113   echo "config:"
1114   echo "        NAME        STATE   READ WRITE CKSUM"
1115   echo "        ${name1}    ONLINE     0     0     0"
1116   echo "          ${disk3}  ONLINE     0     0     0"
1117   echo "errors: No known data errors"
1118 )`
1119 expect "${exp}" ${ZPOOL} status ${name1}
1120 exp=`(
1121   echo "invalid vdev specification"
1122   echo "the following errors must be manually repaired:"
1123   echo "${fdisk1} is part of active pool '${name0}'"
1124 )`
1125 expect "${exp}" ${ZPOOL} add -f ${name1} log mirror ${disk1} ${disk4}
1126 exp=`(
1127   echo "  pool: ${name1}"
1128   echo " state: ONLINE"
1129   echo " scrub: none requested"
1130   echo "config:"
1131   echo "        NAME        STATE   READ WRITE CKSUM"
1132   echo "        ${name1}    ONLINE     0     0     0"
1133   echo "          ${disk3}  ONLINE     0     0     0"
1134   echo "errors: No known data errors"
1135 )`
1136 expect "${exp}" ${ZPOOL} status ${name1}
1137 expect_ok ${ZPOOL} destroy ${name1}
1138 expect_ok ${ZPOOL} online ${name0} ${disk1}
1139 expect_ok ${ZPOOL} destroy ${name0}
1140
1141 expect_ok ${ZPOOL} create ${name0} ${disk1} cache ${disk0}
1142 expect_ok ${ZPOOL} offline ${name0} ${disk0}
1143 expect_ok ${ZPOOL} create ${name1} ${disk2}
1144 exp=`(
1145   echo "invalid vdev specification"
1146   echo "use '-f' to override the following errors:"
1147   echo "${fdisk0} is part of active pool '${name0}'"
1148 )`
1149 add_msg="# TODO It reports that ${fdisk0} is part of unknown pool."
1150 expect "${exp}" ${ZPOOL} add ${name1} cache ${disk0}
1151 add_msg=""
1152 exp=`(
1153   echo "  pool: ${name1}"
1154   echo " state: ONLINE"
1155   echo " scrub: none requested"
1156   echo "config:"
1157   echo "        NAME        STATE   READ WRITE CKSUM"
1158   echo "        ${name1}    ONLINE     0     0     0"
1159   echo "          ${disk2}  ONLINE     0     0     0"
1160   echo "errors: No known data errors"
1161 )`
1162 expect "${exp}" ${ZPOOL} status ${name1}
1163 add_msg="# TODO Invalid problem description."
1164 exp=`(
1165   echo "invalid vdev specification"
1166   echo "the following errors must be manually repaired:"
1167   echo "${fdisk0} is part of active pool '${name0}'"
1168 )`
1169 expect "${exp}" ${ZPOOL} add -f ${name1} cache ${disk0}
1170 add_msg=""
1171 exp=`(
1172   echo "  pool: ${name1}"
1173   echo " state: ONLINE"
1174   echo " scrub: none requested"
1175   echo "config:"
1176   echo "        NAME        STATE   READ WRITE CKSUM"
1177   echo "        ${name1}    ONLINE     0     0     0"
1178   echo "          ${disk2}  ONLINE     0     0     0"
1179   echo "errors: No known data errors"
1180 )`
1181 expect "${exp}" ${ZPOOL} status ${name1}
1182 expect_ok ${ZPOOL} destroy ${name1}
1183 expect_ok ${ZPOOL} online ${name0} ${disk0}
1184 expect_ok ${ZPOOL} destroy ${name0}
1185
1186 disks_destroy