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