xref: /freebsd/tools/regression/zfs/zpool/add/spare.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..31"
71ba4a712SPawel Jakub Dawidek
81ba4a712SPawel Jakub Dawidekdisks_create 6
91ba4a712SPawel Jakub Dawideknames_create 1
101ba4a712SPawel Jakub Dawidek
111ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} ${disk0}
121ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} add ${name0} spare ${disk1}
131ba4a712SPawel Jakub Dawidekexp=`(
141ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
151ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
161ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
171ba4a712SPawel Jakub Dawidek  echo "config:"
181ba4a712SPawel Jakub Dawidek  echo "	NAME        STATE   READ WRITE CKSUM"
191ba4a712SPawel Jakub Dawidek  echo "	${name0}    ONLINE     0     0     0"
201ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}  ONLINE     0     0     0"
211ba4a712SPawel Jakub Dawidek  echo "	spares"
221ba4a712SPawel Jakub Dawidek  echo "	  ${disk1}  AVAIL"
231ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
241ba4a712SPawel Jakub Dawidek)`
251ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
261ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
271ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
281ba4a712SPawel Jakub Dawidek
291ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
301ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} add ${name0} spare ${disk2} ${disk3}
311ba4a712SPawel Jakub Dawidekexp=`(
321ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
331ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
341ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
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 "	  mirror      ONLINE     0     0     0"
391ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}  ONLINE     0     0     0"
401ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
411ba4a712SPawel Jakub Dawidek  echo "	spares"
421ba4a712SPawel Jakub Dawidek  echo "	  ${disk2}    AVAIL"
431ba4a712SPawel Jakub Dawidek  echo "	  ${disk3}    AVAIL"
441ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
451ba4a712SPawel Jakub Dawidek)`
461ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
471ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
481ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
491ba4a712SPawel Jakub Dawidek
501ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz ${disk0} ${disk1} ${disk2}
511ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} add ${name0} spare ${disk3} ${disk4}
521ba4a712SPawel Jakub Dawidekexp=`(
531ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
541ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
551ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
561ba4a712SPawel Jakub Dawidek  echo "config:"
571ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
581ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
591ba4a712SPawel Jakub Dawidek  echo "	  raidz1      ONLINE     0     0     0"
601ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}  ONLINE     0     0     0"
611ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
621ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
631ba4a712SPawel Jakub Dawidek  echo "	spares"
641ba4a712SPawel Jakub Dawidek  echo "	  ${disk3}    AVAIL"
651ba4a712SPawel Jakub Dawidek  echo "	  ${disk4}    AVAIL"
661ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
671ba4a712SPawel Jakub Dawidek)`
681ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
691ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
701ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
711ba4a712SPawel Jakub Dawidek
721ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
731ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} add ${name0} spare ${disk4} ${disk5}
741ba4a712SPawel Jakub Dawidekexp=`(
751ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
761ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
771ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
781ba4a712SPawel Jakub Dawidek  echo "config:"
791ba4a712SPawel Jakub Dawidek  echo "	NAME          STATE   READ WRITE CKSUM"
801ba4a712SPawel Jakub Dawidek  echo "	${name0}      ONLINE     0     0     0"
811ba4a712SPawel Jakub Dawidek  echo "	  raidz2      ONLINE     0     0     0"
821ba4a712SPawel Jakub Dawidek  echo "	    ${disk0}  ONLINE     0     0     0"
831ba4a712SPawel Jakub Dawidek  echo "	    ${disk1}  ONLINE     0     0     0"
841ba4a712SPawel Jakub Dawidek  echo "	    ${disk2}  ONLINE     0     0     0"
851ba4a712SPawel Jakub Dawidek  echo "	    ${disk3}  ONLINE     0     0     0"
861ba4a712SPawel Jakub Dawidek  echo "	spares"
871ba4a712SPawel Jakub Dawidek  echo "	  ${disk4}    AVAIL"
881ba4a712SPawel Jakub Dawidek  echo "	  ${disk5}    AVAIL"
891ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
901ba4a712SPawel Jakub Dawidek)`
911ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
921ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
931ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
941ba4a712SPawel Jakub Dawidek
951ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} ${disk0} spare ${disk1}
961ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} add ${name0} spare ${disk2} ${disk3}
971ba4a712SPawel Jakub Dawidekexp=`(
981ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
991ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1001ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
1011ba4a712SPawel Jakub Dawidek  echo "config:"
1021ba4a712SPawel Jakub Dawidek  echo "	NAME        STATE   READ WRITE CKSUM"
1031ba4a712SPawel Jakub Dawidek  echo "	${name0}    ONLINE     0     0     0"
1041ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}  ONLINE     0     0     0"
1051ba4a712SPawel Jakub Dawidek  echo "	spares"
1061ba4a712SPawel Jakub Dawidek  echo "	  ${disk1}  AVAIL"
1071ba4a712SPawel Jakub Dawidek  echo "	  ${disk2}  AVAIL"
1081ba4a712SPawel Jakub Dawidek  echo "	  ${disk3}  AVAIL"
1091ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1101ba4a712SPawel Jakub Dawidek)`
1111ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1121ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
1131ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
1141ba4a712SPawel Jakub Dawidek
1151ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} create ${name0} ${disk0}
1161ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} add ${name0} spare ${disk1} ${disk2}
1171ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} add ${name0} spare ${disk3}
1181ba4a712SPawel Jakub Dawidekexp=`(
1191ba4a712SPawel Jakub Dawidek  echo "  pool: ${name0}"
1201ba4a712SPawel Jakub Dawidek  echo " state: ONLINE"
1211ba4a712SPawel Jakub Dawidek  echo " scrub: none requested"
1221ba4a712SPawel Jakub Dawidek  echo "config:"
1231ba4a712SPawel Jakub Dawidek  echo "	NAME        STATE   READ WRITE CKSUM"
1241ba4a712SPawel Jakub Dawidek  echo "	${name0}    ONLINE     0     0     0"
1251ba4a712SPawel Jakub Dawidek  echo "	  ${disk0}  ONLINE     0     0     0"
1261ba4a712SPawel Jakub Dawidek  echo "	spares"
1271ba4a712SPawel Jakub Dawidek  echo "	  ${disk1}  AVAIL"
1281ba4a712SPawel Jakub Dawidek  echo "	  ${disk2}  AVAIL"
1291ba4a712SPawel Jakub Dawidek  echo "	  ${disk3}  AVAIL"
1301ba4a712SPawel Jakub Dawidek  echo "errors: No known data errors"
1311ba4a712SPawel Jakub Dawidek)`
1321ba4a712SPawel Jakub Dawidekexpect "${exp}" ${ZPOOL} status ${name0}
1331ba4a712SPawel Jakub Dawidekexpect_ok ${ZPOOL} destroy ${name0}
1341ba4a712SPawel Jakub Dawidekexpect_fl ${ZPOOL} status -x ${name0}
1351ba4a712SPawel Jakub Dawidek
1361ba4a712SPawel Jakub Dawidekdisks_destroy
137