xref: /freebsd/tools/regression/zfs/zpool/replace/raidz2.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..115"
71ba4a712SPawel Jakub Dawidek
81ba4a712SPawel Jakub Dawidekdisks_create 6
91ba4a712SPawel Jakub Dawideknames_create 1
101ba4a712SPawel Jakub Dawidek
111ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
121ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
131ba4a712SPawel Jakub Dawidekdname0=${disk0}
141ba4a712SPawel Jakub Dawidekfdname0=${fdisk0}
151ba4a712SPawel Jakub Dawidekguid0=`get_guid ${fdisk0}`
161ba4a712SPawel Jakub Dawidekdisk_destroy 0
171ba4a712SPawel Jakub Dawidekdisk_create 0 ${dname0}
181ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
191ba4a712SPawel Jakub Dawidekexp=`(
201ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
211ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
221ba4a712SPawel Jakub Dawidek  echo "status: One or more devices could not be used because the label is missing or"
231ba4a712SPawel Jakub Dawidek  echo "      invalid.  Sufficient replicas exist for the pool to continue"
241ba4a712SPawel Jakub Dawidek  echo "      functioning in a degraded state."
251ba4a712SPawel Jakub Dawidek  echo "action: Replace the device using 'zpool replace'."
261ba4a712SPawel Jakub Dawidek  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
271ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
281ba4a712SPawel Jakub Dawidek  echo "config:"
291ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE     READ WRITE CKSUM"
301ba4a712SPawel Jakub Dawidek  echo "	${name0}      DEGRADED     0     0     0"
311ba4a712SPawel Jakub Dawidek  echo "	  raidz2      DEGRADED     0     0     0"
321ba4a712SPawel Jakub Dawidek  echo "	    ${guid0}  UNAVAIL      0     0     0  was ${fdname0}"
331ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE       0     0     0"
341ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE       0     0     0"
351ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE       0     0     0"
361ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
371ba4a712SPawel Jakub Dawidek)`
381ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
391ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
401ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
411ba4a712SPawel Jakub Dawidekexp=`(
421ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
431ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
441ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
451ba4a712SPawel Jakub Dawidek  echo "config:"
461ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
471ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
481ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
491ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
501ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
511ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
521ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
531ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
541ba4a712SPawel Jakub Dawidek)`
551ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
561ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
571ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
581ba4a712SPawel Jakub Dawidek
591ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
601ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk4}
611ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
621ba4a712SPawel Jakub Dawidekexp=`(
631ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
641ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
651ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
661ba4a712SPawel Jakub Dawidek  echo "config:"
671ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
681ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
691ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
701ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
711ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
721ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
731ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
741ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
751ba4a712SPawel Jakub Dawidek)`
761ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
771ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
781ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
791ba4a712SPawel Jakub Dawidek
801ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
811ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
821ba4a712SPawel Jakub Dawidekdname0=${disk0}
831ba4a712SPawel Jakub Dawidekfdname0=${fdisk0}
841ba4a712SPawel Jakub Dawidekguid0=`get_guid ${fdisk0}`
851ba4a712SPawel Jakub Dawidekdisk_destroy 0
861ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
871ba4a712SPawel Jakub Dawidekexp=`(
881ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
891ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
901ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
911ba4a712SPawel Jakub Dawidek  echo "config:"
921ba4a712SPawel Jakub Dawidek  echo "	NAME           STATE     READ WRITE CKSUM"
931ba4a712SPawel Jakub Dawidek  echo "	${name0}       DEGRADED     0     0     0"
941ba4a712SPawel Jakub Dawidek  echo "	  raidz2       DEGRADED     0     0     0"
951ba4a712SPawel Jakub Dawidek  echo "	    ${guid0}   REMOVED      0     0     0  was ${fdname0}"
961ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}   ONLINE       0     0     0"
971ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}   ONLINE       0     0     0"
981ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}   ONLINE       0     0     0"
991ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1001ba4a712SPawel Jakub Dawidek)`
1011ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1021ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${dname0} ${disk4}
1031ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
1041ba4a712SPawel Jakub Dawidekexp=`(
1051ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1061ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1071ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
1081ba4a712SPawel Jakub Dawidek  echo "config:"
1091ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
1101ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
1111ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
1121ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1131ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1141ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1151ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1161ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1171ba4a712SPawel Jakub Dawidek)`
1181ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1191ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
1201ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
1211ba4a712SPawel Jakub Dawidekdisk_create 0 ${dname0}
1221ba4a712SPawel Jakub Dawidek
1231ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
1241ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} offline ${name0} ${disk1}
1251ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk4}
1261ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
1271ba4a712SPawel Jakub Dawidekexp=`(
1281ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1291ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1301ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
1311ba4a712SPawel Jakub Dawidek  echo "config:"
1321ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
1331ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
1341ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
1351ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1361ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1371ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1381ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1391ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1401ba4a712SPawel Jakub Dawidek)`
1411ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1421ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
1431ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
1441ba4a712SPawel Jakub Dawidek
1451ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${zpool_f_flag} ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
1461ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
1471ba4a712SPawel Jakub Dawidekdname0=${disk0}
1481ba4a712SPawel Jakub Dawidekfdname0=${fdisk0}
1491ba4a712SPawel Jakub Dawidekguid0=`get_guid ${fdisk0}`
1501ba4a712SPawel Jakub Dawidekdisk_destroy 0
1511ba4a712SPawel Jakub Dawidekdisk_create 0 ${dname0}
1521ba4a712SPawel Jakub Dawidekdname1=${disk1}
1531ba4a712SPawel Jakub Dawidekfdname1=${fdisk1}
1541ba4a712SPawel Jakub Dawidekguid1=`get_guid ${fdisk1}`
1551ba4a712SPawel Jakub Dawidekdisk_destroy 1
1561ba4a712SPawel Jakub Dawidekdisk_create 1 ${dname1}
1571ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
1581ba4a712SPawel Jakub Dawidekexp=`(
1591ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1601ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
1611ba4a712SPawel Jakub Dawidek  echo "status: One or more devices could not be used because the label is missing or"
1621ba4a712SPawel Jakub Dawidek  echo "      invalid.  Sufficient replicas exist for the pool to continue"
1631ba4a712SPawel Jakub Dawidek  echo "      functioning in a degraded state."
1641ba4a712SPawel Jakub Dawidek  echo "action: Replace the device using 'zpool replace'."
1651ba4a712SPawel Jakub Dawidek  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
1661ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
1671ba4a712SPawel Jakub Dawidek  echo "config:"
1681ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE     READ WRITE CKSUM"
1691ba4a712SPawel Jakub Dawidek  echo "	${name0}      DEGRADED     0     0     0"
1701ba4a712SPawel Jakub Dawidek  echo "	  raidz2      DEGRADED     0     0     0"
1711ba4a712SPawel Jakub Dawidek  echo "	    ${guid0}  UNAVAIL      0     0     0  was ${fdname0}"
1721ba4a712SPawel Jakub Dawidek  echo "	    ${guid1}  UNAVAIL      0     0     0  was ${fdname1}"
1731ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE       0     0     0"
1741ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE       0     0     0"
1751ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1761ba4a712SPawel Jakub Dawidek)`
1771ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1781ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
1791ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
1801ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
1811ba4a712SPawel Jakub Dawidekexp=`(
1821ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1831ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1841ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
1851ba4a712SPawel Jakub Dawidek  echo "config:"
1861ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
1871ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
1881ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
1891ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1901ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1911ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1921ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
1931ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1941ba4a712SPawel Jakub Dawidek)`
1951ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1961ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
1971ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
1981ba4a712SPawel Jakub Dawidek
1991ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
2001ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk4}
2011ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk2} ${disk5}
2021ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
2031ba4a712SPawel Jakub Dawidekexp=`(
2041ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
2051ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
2061ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
2071ba4a712SPawel Jakub Dawidek  echo "config:"
2081ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
2091ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
2101ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
2111ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
2121ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
2131ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
2141ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
2151ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
2161ba4a712SPawel Jakub Dawidek)`
2171ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
2181ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
2191ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
2201ba4a712SPawel Jakub Dawidek
2211ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
2221ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
2231ba4a712SPawel Jakub Dawidekdname0=${disk0}
2241ba4a712SPawel Jakub Dawidekfdname0=${fdisk0}
2251ba4a712SPawel Jakub Dawidekguid0=`get_guid ${fdisk0}`
2261ba4a712SPawel Jakub Dawidekdisk_destroy 0
2271ba4a712SPawel Jakub Dawidekdname1=${disk1}
2281ba4a712SPawel Jakub Dawidekfdname1=${fdisk1}
2291ba4a712SPawel Jakub Dawidekguid1=`get_guid ${fdisk1}`
2301ba4a712SPawel Jakub Dawidekdisk_destroy 1
2311ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
2321ba4a712SPawel Jakub Dawidekexp=`(
2331ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
2341ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
2351ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
2361ba4a712SPawel Jakub Dawidek  echo "config:"
2371ba4a712SPawel Jakub Dawidek  echo "	NAME           STATE     READ WRITE CKSUM"
2381ba4a712SPawel Jakub Dawidek  echo "	${name0}       DEGRADED     0     0     0"
2391ba4a712SPawel Jakub Dawidek  echo "	  raidz2       DEGRADED     0     0     0"
2401ba4a712SPawel Jakub Dawidek  echo "	    ${guid0}   REMOVED      0     0     0  was ${fdname0}"
2411ba4a712SPawel Jakub Dawidek  echo "	    ${guid1}   REMOVED      0     0     0  was ${fdname1}"
2421ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}   ONLINE       0     0     0"
2431ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}   ONLINE       0     0     0"
2441ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
2451ba4a712SPawel Jakub Dawidek)`
2461ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
2471ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${dname0} ${disk4}
2481ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${dname1} ${disk5}
2491ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
2501ba4a712SPawel Jakub Dawidekexp=`(
2511ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
2521ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
2531ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
2541ba4a712SPawel Jakub Dawidek  echo "config:"
2551ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
2561ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
2571ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
2581ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
2591ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
2601ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
2611ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
2621ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
2631ba4a712SPawel Jakub Dawidek)`
2641ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
2651ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
2661ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
2671ba4a712SPawel Jakub Dawidekdisk_create 0 ${dname0}
2681ba4a712SPawel Jakub Dawidekdisk_create 1 ${dname1}
2691ba4a712SPawel Jakub Dawidek
2701ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
2711ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} offline ${name0} ${disk0}
2721ba4a712SPawel Jakub Dawidekadd_msg="# TODO Sun CR 6328632, Lustre bug 16878"
2731ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} offline ${name0} ${disk1}
2741ba4a712SPawel Jakub Dawidekexp=`(
2751ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
2761ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
2771ba4a712SPawel Jakub Dawidek  echo "status: One or more devices has been taken offline by the administrator."
2781ba4a712SPawel Jakub Dawidek  echo "      Sufficient replicas exist for the pool to continue functioning in a"
2791ba4a712SPawel Jakub Dawidek  echo "      degraded state."
2801ba4a712SPawel Jakub Dawidek  echo "action: Online the device using 'zpool online' or replace the device with"
2811ba4a712SPawel Jakub Dawidek  echo "      'zpool replace'."
2821ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
2831ba4a712SPawel Jakub Dawidek  echo "config:"
2841ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE     READ WRITE CKSUM"
2851ba4a712SPawel Jakub Dawidek  echo "	${name0}      DEGRADED     0     0     0"
2861ba4a712SPawel Jakub Dawidek  echo "	  raidz2      DEGRADED     0     0     0"
2871ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}  OFFLINE      0     0     0"
2881ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  OFFLINE      0     0     0"
2891ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE       0     0     0"
2901ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE       0     0     0"
2911ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
2921ba4a712SPawel Jakub Dawidek)`
2931ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
2941ba4a712SPawel Jakub Dawidekadd_msg=""
2951ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
2961ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
2971ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
2981ba4a712SPawel Jakub Dawidekexp=`(
2991ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
3001ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
3011ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
3021ba4a712SPawel Jakub Dawidek  echo "config:"
3031ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
3041ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
3051ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
3061ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
3071ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
3081ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
3091ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
3101ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
3111ba4a712SPawel Jakub Dawidek)`
3121ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
3131ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
3141ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
3151ba4a712SPawel Jakub Dawidek
3161ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${zpool_f_flag} ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
3171ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
3181ba4a712SPawel Jakub Dawidekdname0=${disk0}
3191ba4a712SPawel Jakub Dawidekfdname0=${fdisk0}
3201ba4a712SPawel Jakub Dawidekguid0=`get_guid ${fdisk0}`
3211ba4a712SPawel Jakub Dawidekdisk_destroy 0
3221ba4a712SPawel Jakub Dawidekdisk_create 0 ${dname0}
3231ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
3241ba4a712SPawel Jakub Dawidekexp=`(
3251ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
3261ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
3271ba4a712SPawel Jakub Dawidek  echo "status: One or more devices could not be used because the label is missing or"
3281ba4a712SPawel Jakub Dawidek  echo "      invalid.  Sufficient replicas exist for the pool to continue"
3291ba4a712SPawel Jakub Dawidek  echo "      functioning in a degraded state."
3301ba4a712SPawel Jakub Dawidek  echo "action: Replace the device using 'zpool replace'."
3311ba4a712SPawel Jakub Dawidek  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
3321ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
3331ba4a712SPawel Jakub Dawidek  echo "config:"
3341ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE     READ WRITE CKSUM"
3351ba4a712SPawel Jakub Dawidek  echo "	${name0}      DEGRADED     0     0     0"
3361ba4a712SPawel Jakub Dawidek  echo "	  raidz2      DEGRADED     0     0     0"
3371ba4a712SPawel Jakub Dawidek  echo "	    ${guid0}  UNAVAIL      0     0     0  was ${fdname0}"
3381ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE       0     0     0"
3391ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE       0     0     0"
3401ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE       0     0     0"
3411ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
3421ba4a712SPawel Jakub Dawidek)`
3431ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
3441ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
3451ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
3461ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
3471ba4a712SPawel Jakub Dawidekexp=`(
3481ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
3491ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
3501ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
3511ba4a712SPawel Jakub Dawidek  echo "config:"
3521ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
3531ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
3541ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
3551ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
3561ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
3571ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
3581ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
3591ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
3601ba4a712SPawel Jakub Dawidek)`
3611ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
3621ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
3631ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
3641ba4a712SPawel Jakub Dawidek
3651ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
3661ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
3671ba4a712SPawel Jakub Dawidekdname0=${disk0}
3681ba4a712SPawel Jakub Dawidekfdname0=${fdisk0}
3691ba4a712SPawel Jakub Dawidekguid0=`get_guid ${fdisk0}`
3701ba4a712SPawel Jakub Dawidekdisk_destroy 0
3711ba4a712SPawel Jakub Dawidekdisk_create 0 ${dname0}
3721ba4a712SPawel Jakub Dawidekdname1=${disk1}
3731ba4a712SPawel Jakub Dawidekfdname1=${fdisk1}
3741ba4a712SPawel Jakub Dawidekguid1=`get_guid ${fdisk1}`
3751ba4a712SPawel Jakub Dawidekdisk_destroy 1
3761ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
3771ba4a712SPawel Jakub Dawidekexp=`(
3781ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
3791ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
3801ba4a712SPawel Jakub Dawidek  echo "status: One or more devices could not be used because the label is missing or"
3811ba4a712SPawel Jakub Dawidek  echo "      invalid.  Sufficient replicas exist for the pool to continue"
3821ba4a712SPawel Jakub Dawidek  echo "      functioning in a degraded state."
3831ba4a712SPawel Jakub Dawidek  echo "action: Replace the device using 'zpool replace'."
3841ba4a712SPawel Jakub Dawidek  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
3851ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
3861ba4a712SPawel Jakub Dawidek  echo "config:"
3871ba4a712SPawel Jakub Dawidek  echo "	NAME           STATE     READ WRITE CKSUM"
3881ba4a712SPawel Jakub Dawidek  echo "	${name0}       DEGRADED     0     0     0"
3891ba4a712SPawel Jakub Dawidek  echo "	  raidz2       DEGRADED     0     0     0"
3901ba4a712SPawel Jakub Dawidek  echo "	    ${guid0}   UNAVAIL      0     0     0  was ${fdname0}"
3911ba4a712SPawel Jakub Dawidek  echo "	    ${guid1}   REMOVED      0     0     0  was ${fdname1}"
3921ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}   ONLINE       0     0     0"
3931ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}   ONLINE       0     0     0"
3941ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
3951ba4a712SPawel Jakub Dawidek)`
3961ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
3971ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
3981ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${dname1} ${disk5}
3991ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
4001ba4a712SPawel Jakub Dawidekexp=`(
4011ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
4021ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
4031ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
4041ba4a712SPawel Jakub Dawidek  echo "config:"
4051ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
4061ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
4071ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
4081ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4091ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4101ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4111ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4121ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
4131ba4a712SPawel Jakub Dawidek)`
4141ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
4151ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
4161ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
4171ba4a712SPawel Jakub Dawidekdisk_create 1 ${dname1}
4181ba4a712SPawel Jakub Dawidek
4191ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
4201ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
4211ba4a712SPawel Jakub Dawidekdname0=${disk0}
4221ba4a712SPawel Jakub Dawidekfdname0=${fdisk0}
4231ba4a712SPawel Jakub Dawidekguid0=`get_guid ${fdisk0}`
4241ba4a712SPawel Jakub Dawidekdisk_destroy 0
4251ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
4261ba4a712SPawel Jakub Dawidekexp=`(
4271ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
4281ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
4291ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
4301ba4a712SPawel Jakub Dawidek  echo "config:"
4311ba4a712SPawel Jakub Dawidek  echo "	NAME           STATE     READ WRITE CKSUM"
4321ba4a712SPawel Jakub Dawidek  echo "	${name0}       DEGRADED     0     0     0"
4331ba4a712SPawel Jakub Dawidek  echo "	  raidz2       DEGRADED     0     0     0"
4341ba4a712SPawel Jakub Dawidek  echo "	    ${guid0}   REMOVED      0     0     0  was ${fdname0}"
4351ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}   ONLINE       0     0     0"
4361ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}   ONLINE       0     0     0"
4371ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}   ONLINE       0     0     0"
4381ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
4391ba4a712SPawel Jakub Dawidek)`
4401ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
4411ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${dname0} ${disk4}
4421ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
4431ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
4441ba4a712SPawel Jakub Dawidekexp=`(
4451ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
4461ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
4471ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
4481ba4a712SPawel Jakub Dawidek  echo "config:"
4491ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
4501ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
4511ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
4521ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4531ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4541ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4551ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4561ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
4571ba4a712SPawel Jakub Dawidek)`
4581ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
4591ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
4601ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
4611ba4a712SPawel Jakub Dawidekdisk_create 0 ${dname0}
4621ba4a712SPawel Jakub Dawidek
4631ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
4641ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} offline ${name0} ${disk0}
4651ba4a712SPawel Jakub Dawidekexp=`(
4661ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
4671ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
4681ba4a712SPawel Jakub Dawidek  echo "status: One or more devices has been taken offline by the administrator."
4691ba4a712SPawel Jakub Dawidek  echo "      Sufficient replicas exist for the pool to continue functioning in a"
4701ba4a712SPawel Jakub Dawidek  echo "      degraded state."
4711ba4a712SPawel Jakub Dawidek  echo "action: Online the device using 'zpool online' or replace the device with"
4721ba4a712SPawel Jakub Dawidek  echo "      'zpool replace'."
4731ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
4741ba4a712SPawel Jakub Dawidek  echo "config:"
4751ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE     READ WRITE CKSUM"
4761ba4a712SPawel Jakub Dawidek  echo "	${name0}      DEGRADED     0     0     0"
4771ba4a712SPawel Jakub Dawidek  echo "	  raidz2      DEGRADED     0     0     0"
4781ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}  OFFLINE      0     0     0"
4791ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE       0     0     0"
4801ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE       0     0     0"
4811ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE       0     0     0"
4821ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
4831ba4a712SPawel Jakub Dawidek)`
4841ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
4851ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
4861ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
4871ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
4881ba4a712SPawel Jakub Dawidekexp=`(
4891ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
4901ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
4911ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
4921ba4a712SPawel Jakub Dawidek  echo "config:"
4931ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
4941ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
4951ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
4961ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4971ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4981ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
4991ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
5001ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
5011ba4a712SPawel Jakub Dawidek)`
5021ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
5031ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
5041ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
5051ba4a712SPawel Jakub Dawidek
5061ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${zpool_f_flag} ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
5071ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} offline ${name0} ${disk0}
5081ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
5091ba4a712SPawel Jakub Dawidekdname1=${disk1}
5101ba4a712SPawel Jakub Dawidekfdname1=${fdisk1}
5111ba4a712SPawel Jakub Dawidekguid1=`get_guid ${fdisk1}`
5121ba4a712SPawel Jakub Dawidekdisk_destroy 1
5131ba4a712SPawel Jakub Dawidekdisk_create 1 ${dname1}
5141ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
5151ba4a712SPawel Jakub Dawidekexp=`(
5161ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
5171ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
5181ba4a712SPawel Jakub Dawidek  echo "status: One or more devices could not be used because the label is missing or"
5191ba4a712SPawel Jakub Dawidek  echo "      invalid.  Sufficient replicas exist for the pool to continue"
5201ba4a712SPawel Jakub Dawidek  echo "      functioning in a degraded state."
5211ba4a712SPawel Jakub Dawidek  echo "action: Replace the device using 'zpool replace'."
5221ba4a712SPawel Jakub Dawidek  echo "   see: http://www.sun.com/msg/ZFS-8000-4J"
5231ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
5241ba4a712SPawel Jakub Dawidek  echo "config:"
5251ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE     READ WRITE CKSUM"
5261ba4a712SPawel Jakub Dawidek  echo "	${name0}      DEGRADED     0     0     0"
5271ba4a712SPawel Jakub Dawidek  echo "	  raidz2      DEGRADED     0     0     0"
5281ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}  OFFLINE      0     0     0"
5291ba4a712SPawel Jakub Dawidek  echo "	    ${guid1}  UNAVAIL      0     0     0  was ${fdname1}"
5301ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE       0     0     0"
5311ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE       0     0     0"
5321ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
5331ba4a712SPawel Jakub Dawidek)`
5341ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
5351ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
5361ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk5}
5371ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
5381ba4a712SPawel Jakub Dawidekexp=`(
5391ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
5401ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
5411ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
5421ba4a712SPawel Jakub Dawidek  echo "config:"
5431ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
5441ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
5451ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
5461ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
5471ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
5481ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
5491ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
5501ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
5511ba4a712SPawel Jakub Dawidek)`
5521ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
5531ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
5541ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
5551ba4a712SPawel Jakub Dawidek
5561ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${zpool_f_flag} ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
5571ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} offline ${name0} ${disk0}
5581ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} export ${name0}
5591ba4a712SPawel Jakub Dawidekdname1=${disk1}
5601ba4a712SPawel Jakub Dawidekfdname1=${fdisk1}
5611ba4a712SPawel Jakub Dawidekguid1=`get_guid ${fdisk1}`
5621ba4a712SPawel Jakub Dawidekdisk_destroy 1
5631ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} import ${import_flags} ${name0}
5641ba4a712SPawel Jakub Dawidekexp=`(
5651ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
5661ba4a712SPawel Jakub Dawidek  echo " state: DEGRADED"
5671ba4a712SPawel Jakub Dawidek  echo "status: One or more devices has been taken offline by the administrator."
5681ba4a712SPawel Jakub Dawidek  echo "      Sufficient replicas exist for the pool to continue functioning in a"
5691ba4a712SPawel Jakub Dawidek  echo "      degraded state."
5701ba4a712SPawel Jakub Dawidek  echo "action: Online the device using 'zpool online' or replace the device with"
5711ba4a712SPawel Jakub Dawidek  echo "      'zpool replace'."
5721ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
5731ba4a712SPawel Jakub Dawidek  echo "config:"
5741ba4a712SPawel Jakub Dawidek  echo "	NAME           STATE     READ WRITE CKSUM"
5751ba4a712SPawel Jakub Dawidek  echo "	${name0}       DEGRADED     0     0     0"
5761ba4a712SPawel Jakub Dawidek  echo "	  raidz2       DEGRADED     0     0     0"
5771ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}   OFFLINE      0     0     0"
5781ba4a712SPawel Jakub Dawidek  echo "	    ${guid1}   REMOVED      0     0     0  was ${fdname1}"
5791ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}   ONLINE       0     0     0"
5801ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}   ONLINE       0     0     0"
5811ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
5821ba4a712SPawel Jakub Dawidek)`
5831ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
5841ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${disk0} ${disk4}
5851ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} replace ${name0} ${dname1} ${disk5}
5861ba4a712SPawel Jakub Dawidekwait_for_resilver ${name0}
5871ba4a712SPawel Jakub Dawidekexp=`(
5881ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
5891ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
5901ba4a712SPawel Jakub Dawidek  echo " scrub: (scrub|resilver) completed after [0-9]+h[0-9]+m with 0 errors on .*"
5911ba4a712SPawel Jakub Dawidek  echo "config:"
5921ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
5931ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
5941ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
5951ba4a712SPawel Jakub Dawidek  echo "	    ${disk4}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
5961ba4a712SPawel Jakub Dawidek  echo "	    ${disk5}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
5971ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
5981ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0(  [0-9.]+[A-Z] resilvered)?"
5991ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
6001ba4a712SPawel Jakub Dawidek)`
6011ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
6021ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
6031ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
6041ba4a712SPawel Jakub Dawidekdisk_create 1 ${dname1}
6051ba4a712SPawel Jakub Dawidek
6061ba4a712SPawel Jakub Dawidekdisks_destroy
607