1185029Spjd#!/bin/sh 2185029Spjd# $FreeBSD: releng/11.0/tools/regression/zfs/zpool/attach/mirror.t 185029 2008-11-17 20:49:29Z pjd $ 3185029Spjd 4185029Spjddir=`dirname $0` 5185029Spjd. ${dir}/../../misc.sh 6185029Spjd 7185029Spjdecho "1..34" 8185029Spjd 9185029Spjddisks_create 5 10185029Spjdnames_create 1 11185029Spjd 12185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} 13185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk0} ${disk1} 14185029Spjdwait_for_resilver ${name0} 15185029Spjdexp=`( 16185029Spjd echo " pool: ${name0}" 17185029Spjd echo " state: ONLINE" 18185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 19185029Spjd echo "config:" 20185029Spjd echo " NAME STATE READ WRITE CKSUM" 21185029Spjd echo " ${name0} ONLINE 0 0 0" 22185029Spjd echo " mirror ONLINE 0 0 0" 23185029Spjd echo " ${disk0} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 24185029Spjd echo " ${disk1} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 25185029Spjd echo "errors: No known data errors" 26185029Spjd)` 27185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 28185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk0} ${disk2} 29185029Spjdwait_for_resilver ${name0} 30185029Spjdexp=`( 31185029Spjd echo " pool: ${name0}" 32185029Spjd echo " state: ONLINE" 33185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 34185029Spjd echo "config:" 35185029Spjd echo " NAME STATE READ WRITE CKSUM" 36185029Spjd echo " ${name0} ONLINE 0 0 0" 37185029Spjd echo " mirror ONLINE 0 0 0" 38185029Spjd echo " ${disk0} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 39185029Spjd echo " ${disk1} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 40185029Spjd echo " ${disk2} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 41185029Spjd echo "errors: No known data errors" 42185029Spjd)` 43185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 44185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk2} ${disk3} 45185029Spjdwait_for_resilver ${name0} 46185029Spjdexp=`( 47185029Spjd echo " pool: ${name0}" 48185029Spjd echo " state: ONLINE" 49185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 50185029Spjd echo "config:" 51185029Spjd echo " NAME STATE READ WRITE CKSUM" 52185029Spjd echo " ${name0} ONLINE 0 0 0" 53185029Spjd echo " mirror ONLINE 0 0 0" 54185029Spjd echo " ${disk0} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 55185029Spjd echo " ${disk1} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 56185029Spjd echo " ${disk2} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 57185029Spjd echo " ${disk3} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 58185029Spjd echo "errors: No known data errors" 59185029Spjd)` 60185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 61185029Spjdexpect_ok ${ZPOOL} detach ${name0} ${disk0} 62185029Spjdexp=`( 63185029Spjd echo " pool: ${name0}" 64185029Spjd echo " state: ONLINE" 65185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 66185029Spjd echo "config:" 67185029Spjd echo " NAME STATE READ WRITE CKSUM" 68185029Spjd echo " ${name0} ONLINE 0 0 0" 69185029Spjd echo " mirror ONLINE 0 0 0" 70185029Spjd echo " ${disk1} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 71185029Spjd echo " ${disk2} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 72185029Spjd echo " ${disk3} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 73185029Spjd echo "errors: No known data errors" 74185029Spjd)` 75185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 76185029Spjdexpect_ok ${ZPOOL} detach ${name0} ${disk2} 77185029Spjdexp=`( 78185029Spjd echo " pool: ${name0}" 79185029Spjd echo " state: ONLINE" 80185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 81185029Spjd echo "config:" 82185029Spjd echo " NAME STATE READ WRITE CKSUM" 83185029Spjd echo " ${name0} ONLINE 0 0 0" 84185029Spjd echo " mirror ONLINE 0 0 0" 85185029Spjd echo " ${disk1} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 86185029Spjd echo " ${disk3} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 87185029Spjd echo "errors: No known data errors" 88185029Spjd)` 89185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 90185029Spjdexpect_ok ${ZPOOL} detach ${name0} ${disk3} 91185029Spjdexp=`( 92185029Spjd echo " pool: ${name0}" 93185029Spjd echo " state: ONLINE" 94185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 95185029Spjd echo "config:" 96185029Spjd echo " NAME STATE READ WRITE CKSUM" 97185029Spjd echo " ${name0} ONLINE 0 0 0" 98185029Spjd echo " ${disk1} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 99185029Spjd echo "errors: No known data errors" 100185029Spjd)` 101185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 102185029Spjdexpect_fl ${ZPOOL} detach ${name0} ${disk1} 103185029Spjdexp=`( 104185029Spjd echo " pool: ${name0}" 105185029Spjd echo " state: ONLINE" 106185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 107185029Spjd echo "config:" 108185029Spjd echo " NAME STATE READ WRITE CKSUM" 109185029Spjd echo " ${name0} ONLINE 0 0 0" 110185029Spjd echo " ${disk1} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 111185029Spjd echo "errors: No known data errors" 112185029Spjd)` 113185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 114185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 115185029Spjdexpect_fl ${ZPOOL} status -x ${name0} 116185029Spjd 117185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} 118185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk0} ${disk1} 119185029Spjdwait_for_resilver ${name0} 120185029Spjdexp=`( 121185029Spjd echo " pool: ${name0}" 122185029Spjd echo " state: ONLINE" 123185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 124185029Spjd echo "config:" 125185029Spjd echo " NAME STATE READ WRITE CKSUM" 126185029Spjd echo " ${name0} ONLINE 0 0 0" 127185029Spjd echo " mirror ONLINE 0 0 0" 128185029Spjd echo " ${disk0} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 129185029Spjd echo " ${disk1} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 130185029Spjd echo "errors: No known data errors" 131185029Spjd)` 132185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 133185029Spjdexpect_ok ${ZPOOL} export ${name0} 134185029Spjdexpect_ok ${ZPOOL} import ${import_flags} ${name0} 135185029Spjdexp=`( 136185029Spjd echo " pool: ${name0}" 137185029Spjd echo " state: ONLINE" 138185029Spjd echo " scrub: none requested" 139185029Spjd echo "config:" 140185029Spjd echo " NAME STATE READ WRITE CKSUM" 141185029Spjd echo " ${name0} ONLINE 0 0 0" 142185029Spjd echo " mirror ONLINE 0 0 0" 143185029Spjd echo " ${disk0} ONLINE 0 0 0" 144185029Spjd echo " ${disk1} ONLINE 0 0 0" 145185029Spjd echo "errors: No known data errors" 146185029Spjd)` 147185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 148185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 149185029Spjdexpect_fl ${ZPOOL} status -x ${name0} 150185029Spjd 151185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} ${disk1} 152185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk0} ${disk2} 153185029Spjdwait_for_resilver ${name0} 154185029Spjdexp=`( 155185029Spjd echo " pool: ${name0}" 156185029Spjd echo " state: ONLINE" 157185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 158185029Spjd echo "config:" 159185029Spjd echo " NAME STATE READ WRITE CKSUM" 160185029Spjd echo " ${name0} ONLINE 0 0 0" 161185029Spjd echo " mirror ONLINE 0 0 0" 162185029Spjd echo " ${disk0} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 163185029Spjd echo " ${disk2} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 164185029Spjd echo " ${disk1} ONLINE 0 0 0" 165185029Spjd echo "errors: No known data errors" 166185029Spjd)` 167185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 168185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk1} ${disk3} 169185029Spjdwait_for_resilver ${name0} 170185029Spjdexp=`( 171185029Spjd echo " pool: ${name0}" 172185029Spjd echo " state: ONLINE" 173185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 174185029Spjd echo "config:" 175185029Spjd echo " NAME STATE READ WRITE CKSUM" 176185029Spjd echo " ${name0} ONLINE 0 0 0" 177185029Spjd echo " mirror ONLINE 0 0 0" 178185029Spjd echo " ${disk0} ONLINE 0 0 0" 179185029Spjd echo " ${disk2} ONLINE 0 0 0" 180185029Spjd echo " mirror ONLINE 0 0 0" 181185029Spjd echo " ${disk1} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 182185029Spjd echo " ${disk3} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 183185029Spjd echo "errors: No known data errors" 184185029Spjd)` 185185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 186185029Spjdexpect_ok ${ZPOOL} attach ${name0} ${disk0} ${disk4} 187185029Spjdwait_for_resilver ${name0} 188185029Spjdexp=`( 189185029Spjd echo " pool: ${name0}" 190185029Spjd echo " state: ONLINE" 191185029Spjd echo " scrub: resilver completed after [0-9]+h[0-9]+m with 0 errors on .*" 192185029Spjd echo "config:" 193185029Spjd echo " NAME STATE READ WRITE CKSUM" 194185029Spjd echo " ${name0} ONLINE 0 0 0" 195185029Spjd echo " mirror ONLINE 0 0 0" 196185029Spjd echo " ${disk0} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 197185029Spjd echo " ${disk2} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 198185029Spjd echo " ${disk4} ONLINE 0 0 0 [0-9.]+[A-Z] resilvered" 199185029Spjd echo " mirror ONLINE 0 0 0" 200185029Spjd echo " ${disk1} ONLINE 0 0 0" 201185029Spjd echo " ${disk3} ONLINE 0 0 0" 202185029Spjd echo "errors: No known data errors" 203185029Spjd)` 204185029Spjdexpect "${exp}" ${ZPOOL} status ${name0} 205185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 206185029Spjdexpect_fl ${ZPOOL} status -x ${name0} 207185029Spjd 208185029Spjddisks_destroy 209