xref: /freebsd/tools/regression/zfs/zpool/attach/log.t (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
11ba4a712SPawel Jakub Dawidek#!/bin/sh
21ba4a712SPawel Jakub Dawidek
31ba4a712SPawel Jakub Dawidekdir=`dirname $0`
41ba4a712SPawel Jakub Dawidek. ${dir}/../../misc.sh
51ba4a712SPawel Jakub Dawidek
61ba4a712SPawel Jakub Dawidekecho "1..34"
71ba4a712SPawel Jakub Dawidek
81ba4a712SPawel Jakub Dawidekdisks_create 6
91ba4a712SPawel Jakub Dawideknames_create 1
101ba4a712SPawel Jakub Dawidek
111ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} ${disk0} log ${disk1}
121ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk2}
131ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
141ba4a712SPawel Jakub Dawidekexp=`(
151ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
161ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
171ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
181ba4a712SPawel Jakub Dawidek  echo "config:"
191ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
201ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
211ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
221ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
231ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
241ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
251ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
261ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
271ba4a712SPawel Jakub Dawidek)`
281ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
291ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk3}
301ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
311ba4a712SPawel Jakub Dawidekexp=`(
321ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
331ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
341ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
351ba4a712SPawel Jakub Dawidek  echo "config:"
361ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
371ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
381ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
391ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
401ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
411ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
421ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
431ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0"
441ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
451ba4a712SPawel Jakub Dawidek)`
461ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
471ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} attach ${name0} ${disk3} ${disk4}
481ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
491ba4a712SPawel Jakub Dawidekexp=`(
501ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
511ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
521ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
531ba4a712SPawel Jakub Dawidek  echo "config:"
541ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
551ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
561ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
571ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
581ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
591ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
601ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
611ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0"
621ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0"
631ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
641ba4a712SPawel Jakub Dawidek)`
651ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
661ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} detach ${name0} ${disk1}
671ba4a712SPawel Jakub Dawidekexp=`(
681ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
691ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
701ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
711ba4a712SPawel Jakub Dawidek  echo "config:"
721ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
731ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
741ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
751ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
761ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
771ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
781ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0"
791ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0"
801ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
811ba4a712SPawel Jakub Dawidek)`
821ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
831ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} detach ${name0} ${disk3}
841ba4a712SPawel Jakub Dawidekexp=`(
851ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
861ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
871ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
881ba4a712SPawel Jakub Dawidek  echo "config:"
891ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
901ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
911ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
921ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
931ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
941ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
951ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0"
961ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
971ba4a712SPawel Jakub Dawidek)`
981ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
991ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} detach ${name0} ${disk4}
1001ba4a712SPawel Jakub Dawidekexp=`(
1011ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1021ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1031ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
1041ba4a712SPawel Jakub Dawidek  echo "config:"
1051ba4a712SPawel Jakub Dawidek  echo "	NAME        STATE   READ WRITE CKSUM"
1061ba4a712SPawel Jakub Dawidek  echo "	${name0}    ONLINE     0     0     0"
1071ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}  ONLINE     0     0     0"
1081ba4a712SPawel Jakub Dawidek  echo "	logs        ONLINE     0     0     0"
1091ba4a712SPawel Jakub Dawidek  echo "	  ${disk2}  ONLINE     0     0     0"
1101ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1111ba4a712SPawel Jakub Dawidek)`
1121ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1131ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} detach ${name0} ${disk2}
1141ba4a712SPawel Jakub Dawidekexp=`(
1151ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1161ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1171ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
1181ba4a712SPawel Jakub Dawidek  echo "config:"
1191ba4a712SPawel Jakub Dawidek  echo "	NAME        STATE   READ WRITE CKSUM"
1201ba4a712SPawel Jakub Dawidek  echo "	${name0}    ONLINE     0     0     0"
1211ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}  ONLINE     0     0     0"
1221ba4a712SPawel Jakub Dawidek  echo "	logs        ONLINE     0     0     0"
1231ba4a712SPawel Jakub Dawidek  echo "	  ${disk2}  ONLINE     0     0     0"
1241ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1251ba4a712SPawel Jakub Dawidek)`
1261ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1271ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
1281ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
1291ba4a712SPawel Jakub Dawidek
1301ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} ${disk0} log ${disk1}
1311ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk2}
1321ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
1331ba4a712SPawel Jakub Dawidekexp=`(
1341ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1351ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1361ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
1371ba4a712SPawel Jakub Dawidek  echo "config:"
1381ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
1391ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
1401ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
1411ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
1421ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
1431ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
1441ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
1451ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1461ba4a712SPawel Jakub Dawidek)`
1471ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1481ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
1491ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
1501ba4a712SPawel Jakub Dawidekexp=`(
1511ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1521ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1531ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
1541ba4a712SPawel Jakub Dawidek  echo "config:"
1551ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
1561ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
1571ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
1581ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
1591ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
1601ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
1611ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
1621ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1631ba4a712SPawel Jakub Dawidek)`
1641ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1651ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
1661ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
1671ba4a712SPawel Jakub Dawidek
1681ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} ${disk0} log ${disk1} ${disk2}
1691ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk3}
1701ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
1711ba4a712SPawel Jakub Dawidekexp=`(
1721ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1731ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1741ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
1751ba4a712SPawel Jakub Dawidek  echo "config:"
1761ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
1771ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
1781ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
1791ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
1801ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
1811ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
1821ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0"
1831ba4a712SPawel Jakub Dawidek  echo "	  ${disk2}    ONLINE     0     0     0"
1841ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1851ba4a712SPawel Jakub Dawidek)`
1861ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1871ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} attach ${name0} ${disk2} ${disk4}
1881ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
1891ba4a712SPawel Jakub Dawidekexp=`(
1901ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1911ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1921ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
1931ba4a712SPawel Jakub Dawidek  echo "config:"
1941ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
1951ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
1961ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
1971ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
1981ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
1991ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
2001ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0"
2011ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
2021ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
2031ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0"
2041ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
2051ba4a712SPawel Jakub Dawidek)`
2061ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
2071ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk5}
2081ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
2091ba4a712SPawel Jakub Dawidekexp=`(
2101ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
2111ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
2121ba4a712SPawel Jakub Dawidek  echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*"
2131ba4a712SPawel Jakub Dawidek  echo "config:"
2141ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
2151ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
2161ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}    ONLINE     0     0     0"
2171ba4a712SPawel Jakub Dawidek  echo "	logs          ONLINE     0     0     0"
2181ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
2191ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
2201ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0"
2211ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0"
2221ba4a712SPawel Jakub Dawidek  echo "	  mirror      ONLINE     0     0     0"
2231ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
2241ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0"
2251ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
2261ba4a712SPawel Jakub Dawidek)`
2271ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
2281ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
2291ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
2301ba4a712SPawel Jakub Dawidek
2311ba4a712SPawel Jakub Dawidekdisks_destroy
232