160107Sobrien#!/bin/sh 216877Ssos# $FreeBSD: releng/11.0/tools/regression/zfs/zpool/replace/log.t 185029 2008-11-17 20:49:29Z pjd $ 316877Ssos 416877Ssosdir=`dirname $0` 516877Ssos. ${dir}/../../misc.sh 616877Ssos 716877Ssosecho "1..27" 816877Ssos 916877Ssosdisks_create 4 1016877Ssosnames_create 1 1116877Ssos 1216877Ssosexpect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2} 1316877Ssosexpect_ok ${ZPOOL} export ${name0} 1416877Ssosdname1=${disk1} 1516877Ssosfdname1=${fdisk1} 1616877Ssosguid1=`get_guid ${fdisk1}` 1716877Ssosdisk_destroy 1 1816877Ssosdisk_create 1 ${dname1} 19117271Sacheexpect_ok ${ZPOOL} import ${import_flags} ${name0} 2016877Ssosexp=`( 2116877Ssos echo " pool: ${name0}" 2216877Ssos echo " state: DEGRADED" 2316877Ssos echo "status: One or more devices could not be used because the label is missing or" 2416877Ssos echo " invalid. Sufficient replicas exist for the pool to continue" 2516877Ssos echo " functioning in a degraded state." 2616877Ssos echo "action: Replace the device using 'zpool replace'." 2716877Ssos echo " see: http://www.sun.com/msg/ZFS-8000-4J" 2816877Ssos echo " scrub: none requested" 2916877Ssos echo "config:" 3016877Ssos echo " NAME STATE READ WRITE CKSUM" 3116877Ssos echo " ${name0} DEGRADED 0 0 0" 3216877Ssos echo " ${disk0} ONLINE 0 0 0" 3316877Ssos echo " logs DEGRADED 0 0 0" 3416877Ssos echo " mirror DEGRADED 0 0 0" 3516877Ssos echo " ${guid1} UNAVAIL 0 0 0 was ${fdname1}" 3616877Ssos echo " ${disk2} ONLINE 0 0 0" 3716877Ssos echo "errors: No known data errors" 3816877Ssos)` 3916877Ssosadd_msg="# TODO Sun CR 6710376, Lustre bug 16912" 4016877Ssosexpect "${exp}" ${ZPOOL} status ${name0} 4116877Ssosadd_msg="" 4216877Ssosexpect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk3} 4316877Ssoswait_for_resilver ${name0} 4416877Ssosexp=`( 4516877Ssos echo " pool: ${name0}" 4616877Ssos echo " state: ONLINE" 4716877Ssos echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 4816877Ssos echo "config:" 4916877Ssos echo " NAME STATE READ WRITE CKSUM" 5016877Ssos echo " ${name0} ONLINE 0 0 0" 5116877Ssos echo " ${disk0} ONLINE 0 0 0" 5216877Ssos echo " logs ONLINE 0 0 0" 5316877Ssos echo " mirror ONLINE 0 0 0" 5416877Ssos echo " ${disk3} ONLINE 0 0 0" 5516877Ssos echo " ${disk2} ONLINE 0 0 0" 5616877Ssos echo "errors: No known data errors" 5716877Ssos)` 5816877Ssosexpect "${exp}" ${ZPOOL} status ${name0} 5938140Syokotaexpect_ok ${ZPOOL} destroy ${name0} 6016877Ssosexpect_fl ${ZPOOL} status -x ${name0} 6116877Ssos 6216877Ssosexpect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2} 6332822Syokotaexpect_ok ${ZPOOL} replace ${name0} ${disk2} ${disk3} 6416877Ssoswait_for_resilver ${name0} 6516877Ssosexp=`( 6616877Ssos echo " pool: ${name0}" 6716877Ssos echo " state: ONLINE" 6816877Ssos echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 6916877Ssos echo "config:" 7016877Ssos echo " NAME STATE READ WRITE CKSUM" 7116877Ssos echo " ${name0} ONLINE 0 0 0" 7216877Ssos echo " ${disk0} ONLINE 0 0 0" 7316877Ssos echo " logs ONLINE 0 0 0" 7416877Ssos echo " mirror ONLINE 0 0 0" 7516877Ssos echo " ${disk1} ONLINE 0 0 0" 7616877Ssos echo " ${disk3} ONLINE 0 0 0" 7716877Ssos echo "errors: No known data errors" 7816877Ssos)` 7916877Ssosexpect "${exp}" ${ZPOOL} status ${name0} 8016877Ssosexpect_ok ${ZPOOL} destroy ${name0} 8116877Ssosexpect_fl ${ZPOOL} status -x ${name0} 8216877Ssos 8316877Ssosexpect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2} 8416877Ssosexpect_ok ${ZPOOL} export ${name0} 8516877Ssosdname1=${disk1} 8616877Ssosfdname1=${fdisk1} 8716877Ssosguid1=`get_guid ${fdisk1}` 8816877Ssosdisk_destroy 1 8916877Ssosexpect_ok ${ZPOOL} import ${import_flags} ${name0} 9016877Ssosexp=`( 9116877Ssos echo " pool: ${name0}" 9216877Ssos echo " state: DEGRADED" 9316877Ssos echo "status: One or more devices could not be opened. Sufficient replicas exist for" 9416877Ssos echo " the pool to continue functioning in a degraded state." 9518194Ssos echo "action: Attach the missing device and online it using 'zpool online'." 9616877Ssos echo " see: http://www.sun.com/msg/ZFS-8000-2Q" 9716877Ssos echo " scrub: none requested" 9874119Sache echo "config:" 9916877Ssos echo " NAME STATE READ WRITE CKSUM" 10016877Ssos echo " ${name0} DEGRADED 0 0 0" 10116877Ssos echo " ${disk0} ONLINE 0 0 0" 10216877Ssos echo " logs DEGRADED 0 0 0" 10316877Ssos echo " mirror DEGRADED 0 0 0" 10416877Ssos echo " ${guid1} UNAVAIL 0 0 0 was ${fdname1}" 10516877Ssos echo " ${disk2} ONLINE 0 0 0" 10616877Ssos echo "errors: No known data errors" 10716877Ssos)` 10874119Sacheexpect "${exp}" ${ZPOOL} status ${name0} 10916877Ssosexpect_ok ${ZPOOL} replace ${name0} ${dname1} ${disk3} 11043334Syokotawait_for_resilver ${name0} 11143334Syokotaexp=`( 11243334Syokota echo " pool: ${name0}" 11343334Syokota echo " state: ONLINE" 11443334Syokota echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 115 echo "config:" 116 echo " NAME STATE READ WRITE CKSUM" 117 echo " ${name0} ONLINE 0 0 0" 118 echo " ${disk0} ONLINE 0 0 0" 119 echo " logs ONLINE 0 0 0" 120 echo " mirror ONLINE 0 0 0" 121 echo " ${disk3} ONLINE 0 0 0" 122 echo " ${disk2} ONLINE 0 0 0" 123 echo "errors: No known data errors" 124)` 125expect "${exp}" ${ZPOOL} status ${name0} 126expect_ok ${ZPOOL} destroy ${name0} 127expect_fl ${ZPOOL} status -x ${name0} 128disk_create 1 ${dname1} 129 130expect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2} 131expect_ok ${ZPOOL} offline ${name0} ${disk1} 132expect_ok ${ZPOOL} replace ${name0} ${disk1} ${disk3} 133wait_for_resilver ${name0} 134exp=`( 135 echo " pool: ${name0}" 136 echo " state: ONLINE" 137 echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 138 echo "config:" 139 echo " NAME STATE READ WRITE CKSUM" 140 echo " ${name0} ONLINE 0 0 0" 141 echo " ${disk0} ONLINE 0 0 0" 142 echo " logs ONLINE 0 0 0" 143 echo " mirror ONLINE 0 0 0" 144 echo " ${disk3} ONLINE 0 0 0" 145 echo " ${disk2} ONLINE 0 0 0" 146 echo "errors: No known data errors" 147)` 148expect "${exp}" ${ZPOOL} status ${name0} 149expect_ok ${ZPOOL} destroy ${name0} 150expect_fl ${ZPOOL} status -x ${name0} 151 152disks_destroy 153