1185029Spjd#!/bin/sh
2185029Spjd# $FreeBSD: releng/10.3/tools/regression/zfs/zpool/attach/log.t 185029 2008-11-17 20:49:29Z pjd $
3185029Spjd
4185029Spjddir=`dirname $0`
5185029Spjd. ${dir}/../../misc.sh
6185029Spjd
7185029Spjdecho "1..34"
8185029Spjd
9185029Spjddisks_create 6
10185029Spjdnames_create 1
11185029Spjd
12185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log ${disk1}
13185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk2}
14185029Spjdwait_for_resilver ${name0}
15185029Spjdexp=`(
16185029Spjd  echo "  pool: ${name0}"
17185029Spjd  echo " state: ONLINE"
18185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
19185029Spjd  echo "config:"
20185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
21185029Spjd  echo "	${name0}      ONLINE     0     0     0"
22185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
23185029Spjd  echo "	logs          ONLINE     0     0     0"
24185029Spjd  echo "	  mirror      ONLINE     0     0     0"
25185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0"
26185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0"
27185029Spjd  echo "errors: No known data errors"
28185029Spjd)`
29185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
30185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk3}
31185029Spjdwait_for_resilver ${name0}
32185029Spjdexp=`(
33185029Spjd  echo "  pool: ${name0}"
34185029Spjd  echo " state: ONLINE"
35185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
36185029Spjd  echo "config:"
37185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
38185029Spjd  echo "	${name0}      ONLINE     0     0     0"
39185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
40185029Spjd  echo "	logs          ONLINE     0     0     0"
41185029Spjd  echo "	  mirror      ONLINE     0     0     0"
42185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0"
43185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0"
44185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0"
45185029Spjd  echo "errors: No known data errors"
46185029Spjd)`
47185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
48185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk3} ${disk4}
49185029Spjdwait_for_resilver ${name0}
50185029Spjdexp=`(
51185029Spjd  echo "  pool: ${name0}"
52185029Spjd  echo " state: ONLINE"
53185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
54185029Spjd  echo "config:"
55185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
56185029Spjd  echo "	${name0}      ONLINE     0     0     0"
57185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
58185029Spjd  echo "	logs          ONLINE     0     0     0"
59185029Spjd  echo "	  mirror      ONLINE     0     0     0"
60185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0"
61185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0"
62185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0"
63185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0"
64185029Spjd  echo "errors: No known data errors"
65185029Spjd)`
66185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
67185029Spjdexpect_ok ${ZPOOL} detach ${name0} ${disk1}
68185029Spjdexp=`(
69185029Spjd  echo "  pool: ${name0}"
70185029Spjd  echo " state: ONLINE"
71185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
72185029Spjd  echo "config:"
73185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
74185029Spjd  echo "	${name0}      ONLINE     0     0     0"
75185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
76185029Spjd  echo "	logs          ONLINE     0     0     0"
77185029Spjd  echo "	  mirror      ONLINE     0     0     0"
78185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0"
79185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0"
80185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0"
81185029Spjd  echo "errors: No known data errors"
82185029Spjd)`
83185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
84185029Spjdexpect_ok ${ZPOOL} detach ${name0} ${disk3}
85185029Spjdexp=`(
86185029Spjd  echo "  pool: ${name0}"
87185029Spjd  echo " state: ONLINE"
88185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
89185029Spjd  echo "config:"
90185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
91185029Spjd  echo "	${name0}      ONLINE     0     0     0"
92185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
93185029Spjd  echo "	logs          ONLINE     0     0     0"
94185029Spjd  echo "	  mirror      ONLINE     0     0     0"
95185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0"
96185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0"
97185029Spjd  echo "errors: No known data errors"
98185029Spjd)`
99185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
100185029Spjdexpect_ok ${ZPOOL} detach ${name0} ${disk4}
101185029Spjdexp=`(
102185029Spjd  echo "  pool: ${name0}"
103185029Spjd  echo " state: ONLINE"
104185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
105185029Spjd  echo "config:"
106185029Spjd  echo "	NAME        STATE   READ WRITE CKSUM"
107185029Spjd  echo "	${name0}    ONLINE     0     0     0"
108185029Spjd  echo "	  ${disk0}  ONLINE     0     0     0"
109185029Spjd  echo "	logs        ONLINE     0     0     0"
110185029Spjd  echo "	  ${disk2}  ONLINE     0     0     0"
111185029Spjd  echo "errors: No known data errors"
112185029Spjd)`
113185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
114185029Spjdexpect_fl ${ZPOOL} detach ${name0} ${disk2}
115185029Spjdexp=`(
116185029Spjd  echo "  pool: ${name0}"
117185029Spjd  echo " state: ONLINE"
118185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
119185029Spjd  echo "config:"
120185029Spjd  echo "	NAME        STATE   READ WRITE CKSUM"
121185029Spjd  echo "	${name0}    ONLINE     0     0     0"
122185029Spjd  echo "	  ${disk0}  ONLINE     0     0     0"
123185029Spjd  echo "	logs        ONLINE     0     0     0"
124185029Spjd  echo "	  ${disk2}  ONLINE     0     0     0"
125185029Spjd  echo "errors: No known data errors"
126185029Spjd)`
127185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
128185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
129185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
130185029Spjd
131185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log ${disk1}
132185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk2}
133185029Spjdwait_for_resilver ${name0}
134185029Spjdexp=`(
135185029Spjd  echo "  pool: ${name0}"
136185029Spjd  echo " state: ONLINE"
137185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
138185029Spjd  echo "config:"
139185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
140185029Spjd  echo "	${name0}      ONLINE     0     0     0"
141185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
142185029Spjd  echo "	logs          ONLINE     0     0     0"
143185029Spjd  echo "	  mirror      ONLINE     0     0     0"
144185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0"
145185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0"
146185029Spjd  echo "errors: No known data errors"
147185029Spjd)`
148185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
149185029Spjdexpect_ok ${ZPOOL} export ${name0}
150185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0}
151185029Spjdexp=`(
152185029Spjd  echo "  pool: ${name0}"
153185029Spjd  echo " state: ONLINE"
154185029Spjd  echo " scrub: none requested"
155185029Spjd  echo "config:"
156185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
157185029Spjd  echo "	${name0}      ONLINE     0     0     0"
158185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
159185029Spjd  echo "	logs          ONLINE     0     0     0"
160185029Spjd  echo "	  mirror      ONLINE     0     0     0"
161185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0"
162185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0"
163185029Spjd  echo "errors: No known data errors"
164185029Spjd)`
165185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
166185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
167185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
168185029Spjd
169185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log ${disk1} ${disk2}
170185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk3}
171185029Spjdwait_for_resilver ${name0}
172185029Spjdexp=`(
173185029Spjd  echo "  pool: ${name0}"
174185029Spjd  echo " state: ONLINE"
175185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
176185029Spjd  echo "config:"
177185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
178185029Spjd  echo "	${name0}      ONLINE     0     0     0"
179185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
180185029Spjd  echo "	logs          ONLINE     0     0     0"
181185029Spjd  echo "	  mirror      ONLINE     0     0     0"
182185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0"
183185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0"
184185029Spjd  echo "	  ${disk2}    ONLINE     0     0     0"
185185029Spjd  echo "errors: No known data errors"
186185029Spjd)`
187185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
188185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk2} ${disk4}
189185029Spjdwait_for_resilver ${name0}
190185029Spjdexp=`(
191185029Spjd  echo "  pool: ${name0}"
192185029Spjd  echo " state: ONLINE"
193185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
194185029Spjd  echo "config:"
195185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
196185029Spjd  echo "	${name0}      ONLINE     0     0     0"
197185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
198185029Spjd  echo "	logs          ONLINE     0     0     0"
199185029Spjd  echo "	  mirror      ONLINE     0     0     0"
200185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0"
201185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0"
202185029Spjd  echo "	  mirror      ONLINE     0     0     0"
203185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0"
204185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0"
205185029Spjd  echo "errors: No known data errors"
206185029Spjd)`
207185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
208185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk5}
209185029Spjdwait_for_resilver ${name0}
210185029Spjdexp=`(
211185029Spjd  echo "  pool: ${name0}"
212185029Spjd  echo " state: ONLINE"
213185029Spjd  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
214185029Spjd  echo "config:"
215185029Spjd  echo "	NAME          STATE   READ WRITE CKSUM"
216185029Spjd  echo "	${name0}      ONLINE     0     0     0"
217185029Spjd  echo "	  ${disk0}    ONLINE     0     0     0"
218185029Spjd  echo "	logs          ONLINE     0     0     0"
219185029Spjd  echo "	  mirror      ONLINE     0     0     0"
220185029Spjd  echo "	    ${disk1}  ONLINE     0     0     0"
221185029Spjd  echo "	    ${disk3}  ONLINE     0     0     0"
222185029Spjd  echo "	    ${disk5}  ONLINE     0     0     0"
223185029Spjd  echo "	  mirror      ONLINE     0     0     0"
224185029Spjd  echo "	    ${disk2}  ONLINE     0     0     0"
225185029Spjd  echo "	    ${disk4}  ONLINE     0     0     0"
226185029Spjd  echo "errors: No known data errors"
227185029Spjd)`
228185029Spjdexpect "${exp}" ${ZPOOL} status ${name0}
229185029Spjdexpect_ok ${ZPOOL} destroy ${name0}
230185029Spjdexpect_fl ${ZPOOL} status -x ${name0}
231185029Spjd
232185029Spjddisks_destroy
233