1#!/bin/sh
2# $FreeBSD$
3
4dir=`dirname $0`
5. ${dir}/../../misc.sh
6
7[ "${os}" = "FreeBSD" ] && die "panics FreeBSD; see bug # 194587"
8
9echo "1..100"
10
11disks_create 7
12files_create 7
13names_create 1
14
15expect_ok ${ZPOOL} create ${name0} ${disk0}
16expect_fl ${ZPOOL} add ${name0} ${file0}
17exp=`(
18  echo "  pool: ${name0}"
19  echo " state: ONLINE"
20  echo " scrub: none requested"
21  echo "config:"
22  echo "	NAME        STATE   READ WRITE CKSUM"
23  echo "	${name0}    ONLINE     0     0     0"
24  echo "	  ${disk0}  ONLINE     0     0     0"
25  echo "errors: No known data errors"
26)`
27expect "${exp}" ${ZPOOL} status ${name0}
28expect_ok ${ZPOOL} destroy ${name0}
29expect_fl ${ZPOOL} status -x ${name0}
30
31expect_ok ${ZPOOL} create ${name0} ${disk0}
32expect_ok ${ZPOOL} add -f ${name0} ${file0}
33exp=`(
34  echo "  pool: ${name0}"
35  echo " state: ONLINE"
36  echo " scrub: none requested"
37  echo "config:"
38  echo "	NAME        STATE   READ WRITE CKSUM"
39  echo "	${name0}    ONLINE     0     0     0"
40  echo "	  ${disk0}  ONLINE     0     0     0"
41  echo "	  ${file0}  ONLINE     0     0     0"
42  echo "errors: No known data errors"
43)`
44expect "${exp}" ${ZPOOL} status ${name0}
45expect_ok ${ZPOOL} destroy ${name0}
46expect_fl ${ZPOOL} status -x ${name0}
47
48expect_ok ${ZPOOL} create ${name0} ${file0}
49expect_fl ${ZPOOL} add ${name0} ${disk0}
50exp=`(
51  echo "  pool: ${name0}"
52  echo " state: ONLINE"
53  echo " scrub: none requested"
54  echo "config:"
55  echo "	NAME        STATE   READ WRITE CKSUM"
56  echo "	${name0}    ONLINE     0     0     0"
57  echo "	  ${file0}  ONLINE     0     0     0"
58  echo "errors: No known data errors"
59)`
60expect "${exp}" ${ZPOOL} status ${name0}
61expect_ok ${ZPOOL} destroy ${name0}
62expect_fl ${ZPOOL} status -x ${name0}
63
64expect_ok ${ZPOOL} create ${name0} ${file0}
65expect_ok ${ZPOOL} add -f ${name0} ${disk0}
66exp=`(
67  echo "  pool: ${name0}"
68  echo " state: ONLINE"
69  echo " scrub: none requested"
70  echo "config:"
71  echo "	NAME        STATE   READ WRITE CKSUM"
72  echo "	${name0}    ONLINE     0     0     0"
73  echo "	  ${file0}  ONLINE     0     0     0"
74  echo "	  ${disk0}  ONLINE     0     0     0"
75  echo "errors: No known data errors"
76)`
77expect "${exp}" ${ZPOOL} status ${name0}
78expect_ok ${ZPOOL} destroy ${name0}
79expect_fl ${ZPOOL} status -x ${name0}
80
81expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
82expect_fl ${ZPOOL} add ${name0} mirror ${disk2} ${file0}
83exp=`(
84  echo "  pool: ${name0}"
85  echo " state: ONLINE"
86  echo " scrub: none requested"
87  echo "config:"
88  echo "	NAME          STATE   READ WRITE CKSUM"
89  echo "	${name0}      ONLINE     0     0     0"
90  echo "	  mirror      ONLINE     0     0     0"
91  echo "	    ${disk0}  ONLINE     0     0     0"
92  echo "	    ${disk1}  ONLINE     0     0     0"
93  echo "errors: No known data errors"
94)`
95expect "${exp}" ${ZPOOL} status ${name0}
96expect_ok ${ZPOOL} destroy ${name0}
97expect_fl ${ZPOOL} status -x ${name0}
98
99expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
100expect_ok ${ZPOOL} add -f ${name0} mirror ${disk2} ${file0}
101exp=`(
102  echo "  pool: ${name0}"
103  echo " state: ONLINE"
104  echo " scrub: none requested"
105  echo "config:"
106  echo "	NAME          STATE   READ WRITE CKSUM"
107  echo "	${name0}      ONLINE     0     0     0"
108  echo "	  mirror      ONLINE     0     0     0"
109  echo "	    ${disk0}  ONLINE     0     0     0"
110  echo "	    ${disk1}  ONLINE     0     0     0"
111  echo "	  mirror      ONLINE     0     0     0"
112  echo "	    ${disk2}  ONLINE     0     0     0"
113  echo "	    ${file0}  ONLINE     0     0     0"
114  echo "errors: No known data errors"
115)`
116expect "${exp}" ${ZPOOL} status ${name0}
117expect_ok ${ZPOOL} destroy ${name0}
118expect_fl ${ZPOOL} status -x ${name0}
119
120expect_ok ${ZPOOL} create ${name0} mirror ${file0} ${file1}
121expect_fl ${ZPOOL} add ${name0} mirror ${disk0} ${file2}
122exp=`(
123  echo "  pool: ${name0}"
124  echo " state: ONLINE"
125  echo " scrub: none requested"
126  echo "config:"
127  echo "	NAME          STATE   READ WRITE CKSUM"
128  echo "	${name0}      ONLINE     0     0     0"
129  echo "	  mirror      ONLINE     0     0     0"
130  echo "	    ${file0}  ONLINE     0     0     0"
131  echo "	    ${file1}  ONLINE     0     0     0"
132  echo "errors: No known data errors"
133)`
134expect "${exp}" ${ZPOOL} status ${name0}
135expect_ok ${ZPOOL} destroy ${name0}
136expect_fl ${ZPOOL} status -x ${name0}
137
138expect_ok ${ZPOOL} create ${name0} mirror ${file0} ${file1}
139expect_ok ${ZPOOL} add -f ${name0} mirror ${disk0} ${file2}
140exp=`(
141  echo "  pool: ${name0}"
142  echo " state: ONLINE"
143  echo " scrub: none requested"
144  echo "config:"
145  echo "	NAME          STATE   READ WRITE CKSUM"
146  echo "	${name0}      ONLINE     0     0     0"
147  echo "	  mirror      ONLINE     0     0     0"
148  echo "	    ${file0}  ONLINE     0     0     0"
149  echo "	    ${file1}  ONLINE     0     0     0"
150  echo "	  mirror      ONLINE     0     0     0"
151  echo "	    ${disk0}  ONLINE     0     0     0"
152  echo "	    ${file2}  ONLINE     0     0     0"
153  echo "errors: No known data errors"
154)`
155expect "${exp}" ${ZPOOL} status ${name0}
156expect_ok ${ZPOOL} destroy ${name0}
157expect_fl ${ZPOOL} status -x ${name0}
158
159expect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
160expect_fl ${ZPOOL} add ${name0} raidz1 ${disk3} ${file0} ${disk4}
161exp=`(
162  echo "  pool: ${name0}"
163  echo " state: ONLINE"
164  echo " scrub: none requested"
165  echo "config:"
166  echo "	NAME          STATE   READ WRITE CKSUM"
167  echo "	${name0}      ONLINE     0     0     0"
168  echo "	  raidz1      ONLINE     0     0     0"
169  echo "	    ${disk0}  ONLINE     0     0     0"
170  echo "	    ${disk1}  ONLINE     0     0     0"
171  echo "	    ${disk2}  ONLINE     0     0     0"
172  echo "errors: No known data errors"
173)`
174expect "${exp}" ${ZPOOL} status ${name0}
175expect_ok ${ZPOOL} destroy ${name0}
176expect_fl ${ZPOOL} status -x ${name0}
177
178expect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
179expect_ok ${ZPOOL} add -f ${name0} raidz1 ${disk3} ${file0} ${disk4}
180exp=`(
181  echo "  pool: ${name0}"
182  echo " state: ONLINE"
183  echo " scrub: none requested"
184  echo "config:"
185  echo "	NAME          STATE   READ WRITE CKSUM"
186  echo "	${name0}      ONLINE     0     0     0"
187  echo "	  raidz1      ONLINE     0     0     0"
188  echo "	    ${disk0}  ONLINE     0     0     0"
189  echo "	    ${disk1}  ONLINE     0     0     0"
190  echo "	    ${disk2}  ONLINE     0     0     0"
191  echo "	  raidz1      ONLINE     0     0     0"
192  echo "	    ${disk3}  ONLINE     0     0     0"
193  echo "	    ${file0}  ONLINE     0     0     0"
194  echo "	    ${disk4}  ONLINE     0     0     0"
195  echo "errors: No known data errors"
196)`
197expect "${exp}" ${ZPOOL} status ${name0}
198expect_ok ${ZPOOL} destroy ${name0}
199expect_fl ${ZPOOL} status -x ${name0}
200
201expect_ok ${ZPOOL} create ${name0} raidz1 ${file0} ${file1} ${file2}
202expect_fl ${ZPOOL} add ${name0} raidz1 ${file3} ${disk0} ${file4}
203exp=`(
204  echo "  pool: ${name0}"
205  echo " state: ONLINE"
206  echo " scrub: none requested"
207  echo "config:"
208  echo "	NAME          STATE   READ WRITE CKSUM"
209  echo "	${name0}      ONLINE     0     0     0"
210  echo "	  raidz1      ONLINE     0     0     0"
211  echo "	    ${file0}  ONLINE     0     0     0"
212  echo "	    ${file1}  ONLINE     0     0     0"
213  echo "	    ${file2}  ONLINE     0     0     0"
214  echo "errors: No known data errors"
215)`
216expect "${exp}" ${ZPOOL} status ${name0}
217expect_ok ${ZPOOL} destroy ${name0}
218expect_fl ${ZPOOL} status -x ${name0}
219
220expect_ok ${ZPOOL} create ${name0} raidz1 ${file0} ${file1} ${file2}
221expect_ok ${ZPOOL} add -f ${name0} raidz1 ${file3} ${disk0} ${file4}
222exp=`(
223  echo "  pool: ${name0}"
224  echo " state: ONLINE"
225  echo " scrub: none requested"
226  echo "config:"
227  echo "	NAME          STATE   READ WRITE CKSUM"
228  echo "	${name0}      ONLINE     0     0     0"
229  echo "	  raidz1      ONLINE     0     0     0"
230  echo "	    ${file0}  ONLINE     0     0     0"
231  echo "	    ${file1}  ONLINE     0     0     0"
232  echo "	    ${file2}  ONLINE     0     0     0"
233  echo "	  raidz1      ONLINE     0     0     0"
234  echo "	    ${file3}  ONLINE     0     0     0"
235  echo "	    ${disk0}  ONLINE     0     0     0"
236  echo "	    ${file4}  ONLINE     0     0     0"
237  echo "errors: No known data errors"
238)`
239expect "${exp}" ${ZPOOL} status ${name0}
240expect_ok ${ZPOOL} destroy ${name0}
241expect_fl ${ZPOOL} status -x ${name0}
242
243expect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
244expect_fl ${ZPOOL} add ${name0} raidz2 ${disk4} ${file0} ${disk5} ${disk6}
245exp=`(
246  echo "  pool: ${name0}"
247  echo " state: ONLINE"
248  echo " scrub: none requested"
249  echo "config:"
250  echo "	NAME          STATE   READ WRITE CKSUM"
251  echo "	${name0}      ONLINE     0     0     0"
252  echo "	  raidz2      ONLINE     0     0     0"
253  echo "	    ${disk0}  ONLINE     0     0     0"
254  echo "	    ${disk1}  ONLINE     0     0     0"
255  echo "	    ${disk2}  ONLINE     0     0     0"
256  echo "	    ${disk3}  ONLINE     0     0     0"
257  echo "errors: No known data errors"
258)`
259expect "${exp}" ${ZPOOL} status ${name0}
260expect_ok ${ZPOOL} destroy ${name0}
261expect_fl ${ZPOOL} status -x ${name0}
262
263expect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
264expect_ok ${ZPOOL} add -f ${name0} raidz2 ${disk4} ${file0} ${disk5} ${disk6}
265exp=`(
266  echo "  pool: ${name0}"
267  echo " state: ONLINE"
268  echo " scrub: none requested"
269  echo "config:"
270  echo "	NAME          STATE   READ WRITE CKSUM"
271  echo "	${name0}      ONLINE     0     0     0"
272  echo "	  raidz2      ONLINE     0     0     0"
273  echo "	    ${disk0}  ONLINE     0     0     0"
274  echo "	    ${disk1}  ONLINE     0     0     0"
275  echo "	    ${disk2}  ONLINE     0     0     0"
276  echo "	    ${disk3}  ONLINE     0     0     0"
277  echo "	  raidz2      ONLINE     0     0     0"
278  echo "	    ${disk4}  ONLINE     0     0     0"
279  echo "	    ${file0}  ONLINE     0     0     0"
280  echo "	    ${disk5}  ONLINE     0     0     0"
281  echo "	    ${disk6}  ONLINE     0     0     0"
282  echo "errors: No known data errors"
283)`
284expect "${exp}" ${ZPOOL} status ${name0}
285expect_ok ${ZPOOL} destroy ${name0}
286expect_fl ${ZPOOL} status -x ${name0}
287
288expect_ok ${ZPOOL} create ${name0} raidz2 ${file0} ${file1} ${file2} ${file3}
289expect_fl ${ZPOOL} add ${name0} raidz2 ${file4} ${disk0} ${file5} ${file6}
290exp=`(
291  echo "  pool: ${name0}"
292  echo " state: ONLINE"
293  echo " scrub: none requested"
294  echo "config:"
295  echo "	NAME          STATE   READ WRITE CKSUM"
296  echo "	${name0}      ONLINE     0     0     0"
297  echo "	  raidz2      ONLINE     0     0     0"
298  echo "	    ${file0}  ONLINE     0     0     0"
299  echo "	    ${file1}  ONLINE     0     0     0"
300  echo "	    ${file2}  ONLINE     0     0     0"
301  echo "	    ${file3}  ONLINE     0     0     0"
302  echo "errors: No known data errors"
303)`
304expect "${exp}" ${ZPOOL} status ${name0}
305expect_ok ${ZPOOL} destroy ${name0}
306expect_fl ${ZPOOL} status -x ${name0}
307
308expect_ok ${ZPOOL} create ${name0} raidz2 ${file0} ${file1} ${file2} ${file3}
309expect_ok ${ZPOOL} add -f ${name0} raidz2 ${file4} ${disk0} ${file5} ${file6}
310exp=`(
311  echo "  pool: ${name0}"
312  echo " state: ONLINE"
313  echo " scrub: none requested"
314  echo "config:"
315  echo "	NAME          STATE   READ WRITE CKSUM"
316  echo "	${name0}      ONLINE     0     0     0"
317  echo "	  raidz2      ONLINE     0     0     0"
318  echo "	    ${file0}  ONLINE     0     0     0"
319  echo "	    ${file1}  ONLINE     0     0     0"
320  echo "	    ${file2}  ONLINE     0     0     0"
321  echo "	    ${file3}  ONLINE     0     0     0"
322  echo "	  raidz2      ONLINE     0     0     0"
323  echo "	    ${file4}  ONLINE     0     0     0"
324  echo "	    ${disk0}  ONLINE     0     0     0"
325  echo "	    ${file5}  ONLINE     0     0     0"
326  echo "	    ${file6}  ONLINE     0     0     0"
327  echo "errors: No known data errors"
328)`
329expect "${exp}" ${ZPOOL} status ${name0}
330expect_ok ${ZPOOL} destroy ${name0}
331expect_fl ${ZPOOL} status -x ${name0}
332
333expect_ok ${ZPOOL} create ${name0} ${disk0}
334add_msg="# TODO Sun CR 6726091, Lustre bug 16873"
335expect_fl ${ZPOOL} add ${name0} log mirror ${disk1} ${file0}
336exp=`(
337  echo "  pool: ${name0}"
338  echo " state: ONLINE"
339  echo " scrub: none requested"
340  echo "config:"
341  echo "	NAME          STATE   READ WRITE CKSUM"
342  echo "	${name0}      ONLINE     0     0     0"
343  echo "	  ${disk0}    ONLINE     0     0     0"
344  echo "errors: No known data errors"
345)`
346expect "${exp}" ${ZPOOL} status ${name0}
347add_msg=""
348expect_ok ${ZPOOL} destroy ${name0}
349expect_fl ${ZPOOL} status -x ${name0}
350
351expect_ok ${ZPOOL} create ${name0} ${disk0}
352expect_ok ${ZPOOL} add -f ${name0} log mirror ${disk1} ${file0}
353exp=`(
354  echo "  pool: ${name0}"
355  echo " state: ONLINE"
356  echo " scrub: none requested"
357  echo "config:"
358  echo "	NAME          STATE   READ WRITE CKSUM"
359  echo "	${name0}      ONLINE     0     0     0"
360  echo "	  ${disk0}    ONLINE     0     0     0"
361  echo "	logs          ONLINE     0     0     0"
362  echo "	  mirror      ONLINE     0     0     0"
363  echo "	    ${disk1}  ONLINE     0     0     0"
364  echo "	    ${file0}  ONLINE     0     0     0"
365  echo "errors: No known data errors"
366)`
367expect "${exp}" ${ZPOOL} status ${name0}
368expect_ok ${ZPOOL} destroy ${name0}
369expect_fl ${ZPOOL} status -x ${name0}
370
371expect_ok ${ZPOOL} create ${name0} ${file0}
372add_msg="# TODO Sun CR 6726091, Lustre bug 16873"
373expect_fl ${ZPOOL} add ${name0} log mirror ${file1} ${disk0}
374exp=`(
375  echo "  pool: ${name0}"
376  echo " state: ONLINE"
377  echo " scrub: none requested"
378  echo "config:"
379  echo "	NAME          STATE   READ WRITE CKSUM"
380  echo "	${name0}      ONLINE     0     0     0"
381  echo "	  ${file0}    ONLINE     0     0     0"
382  echo "errors: No known data errors"
383)`
384expect "${exp}" ${ZPOOL} status ${name0}
385add_msg=""
386expect_ok ${ZPOOL} destroy ${name0}
387expect_fl ${ZPOOL} status -x ${name0}
388
389expect_ok ${ZPOOL} create ${name0} ${file0}
390expect_ok ${ZPOOL} add -f ${name0} log mirror ${file1} ${disk0}
391exp=`(
392  echo "  pool: ${name0}"
393  echo " state: ONLINE"
394  echo " scrub: none requested"
395  echo "config:"
396  echo "	NAME          STATE   READ WRITE CKSUM"
397  echo "	${name0}      ONLINE     0     0     0"
398  echo "	  ${file0}    ONLINE     0     0     0"
399  echo "	logs          ONLINE     0     0     0"
400  echo "	  mirror      ONLINE     0     0     0"
401  echo "	    ${file1}  ONLINE     0     0     0"
402  echo "	    ${disk0}  ONLINE     0     0     0"
403  echo "errors: No known data errors"
404)`
405expect "${exp}" ${ZPOOL} status ${name0}
406expect_ok ${ZPOOL} destroy ${name0}
407expect_fl ${ZPOOL} status -x ${name0}
408
409disks_destroy
410files_destroy
411