1185029Spjd#!/bin/sh 2185029Spjd# $FreeBSD$ 3185029Spjd 4185029Spjddir=`dirname $0` 5185029Spjd. ${dir}/../../misc.sh 6185029Spjd 7185029Spjdecho "1..146" 8185029Spjd 9185029Spjddisks_create 7 10185029Spjdnames_create 2 11185029Spjd 12185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} 13185029Spjdexpect_ok ${ZPOOL} export ${name0} 14185029Spjdexp=`( 15185029Spjd echo "invalid vdev specification" 16185029Spjd echo "use '-f' to override the following errors:" 17185029Spjd echo "${fdisk0} is part of exported pool '${name0}'" 18185029Spjd)` 19185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} ${disk0} 20185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 21185029Spjdexpect_ok ${ZPOOL} create -f ${name1} ${disk0} 22185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 23185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 24185029Spjd 25185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1} 26185029Spjdexpect_ok ${ZPOOL} export ${name0} 27185029Spjdexp=`( 28185029Spjd echo "invalid vdev specification" 29185029Spjd echo "use '-f' to override the following errors:" 30185029Spjd echo "${fdisk0} is part of exported pool '${name0}'" 31185029Spjd)` 32185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} mirror ${disk0} ${disk1} 33185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 34185029Spjdexpect_ok ${ZPOOL} create -f ${name1} mirror ${disk0} ${disk1} 35185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 36185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 37185029Spjd 38185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2} 39185029Spjdexpect_ok ${ZPOOL} export ${name0} 40185029Spjdexp=`( 41185029Spjd echo "invalid vdev specification" 42185029Spjd echo "use '-f' to override the following errors:" 43185029Spjd echo "${fdisk0} is part of exported pool '${name0}'" 44185029Spjd)` 45185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} raidz1 ${disk0} ${disk1} ${disk2} 46185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 47185029Spjdexpect_ok ${ZPOOL} create -f ${name1} raidz1 ${disk0} ${disk1} ${disk2} 48185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 49185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 50185029Spjd 51185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3} 52185029Spjdexpect_ok ${ZPOOL} export ${name0} 53185029Spjdexp=`( 54185029Spjd echo "invalid vdev specification" 55185029Spjd echo "use '-f' to override the following errors:" 56185029Spjd echo "${fdisk0} is part of exported pool '${name0}'" 57185029Spjd)` 58185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} raidz2 ${disk0} ${disk1} ${disk2} ${disk3} 59185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 60185029Spjdexpect_ok ${ZPOOL} create -f ${name1} raidz2 ${disk0} ${disk1} ${disk2} ${disk3} 61185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 62185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 63185029Spjd 64185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log ${disk1} 65185029Spjdexpect_ok ${ZPOOL} export ${name0} 66185029Spjdexp=`( 67185029Spjd echo "invalid vdev specification" 68185029Spjd echo "use '-f' to override the following errors:" 69185029Spjd echo "${fdisk0} is part of exported pool '${name0}'" 70185029Spjd)` 71185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} ${disk0} log ${disk1} 72185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 73185029Spjdexpect_ok ${ZPOOL} create -f ${name1} ${disk0} log ${disk1} 74185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 75185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 76185029Spjd 77185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2} 78185029Spjdexpect_ok ${ZPOOL} export ${name0} 79185029Spjdexp=`( 80185029Spjd echo "invalid vdev specification" 81185029Spjd echo "use '-f' to override the following errors:" 82185029Spjd echo "${fdisk0} is part of exported pool '${name0}'" 83185029Spjd)` 84185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} ${disk0} log mirror ${disk1} ${disk2} 85185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 86185029Spjdexpect_ok ${ZPOOL} create -f ${name1} ${disk0} log mirror ${disk1} ${disk2} 87185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 88185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 89185029Spjd 90185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} cache ${disk1} 91185029Spjdexpect_ok ${ZPOOL} export ${name0} 92185029Spjdexp=`( 93185029Spjd echo "invalid vdev specification" 94185029Spjd echo "use '-f' to override the following errors:" 95185029Spjd echo "${fdisk0} is part of exported pool '${name0}'" 96185029Spjd)` 97185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} ${disk0} cache ${disk1} 98185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 99185029Spjdexpect_ok ${ZPOOL} create -f ${name1} ${disk0} cache ${disk1} 100185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 101185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 102185029Spjd 103185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1} 104185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1} 105185029Spjdexpect_ok ${ZPOOL} export ${name0} 106185029Spjdexp=`( 107185029Spjd echo "invalid vdev specification" 108185029Spjd echo "use '-f' to override the following errors:" 109185029Spjd echo "${fdisk1} is part of potentially active pool '${name0}'" 110185029Spjd)` 111185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} mirror ${disk1} ${disk2} 112185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 113185029Spjdexpect_ok ${ZPOOL} create -f ${name1} mirror ${disk1} ${disk2} 114185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 115185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 116185029Spjdexpect_ok ${ZPOOL} import ${name0} 117185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 118185029Spjd 119185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2} 120185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk2} 121185029Spjdexpect_ok ${ZPOOL} export ${name0} 122185029Spjdexp=`( 123185029Spjd echo "invalid vdev specification" 124185029Spjd echo "use '-f' to override the following errors:" 125185029Spjd echo "${fdisk2} is part of potentially active pool '${name0}'" 126185029Spjd)` 127185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} raidz1 ${disk2} ${disk3} ${disk4} 128185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 129185029Spjdexpect_ok ${ZPOOL} create -f ${name1} raidz1 ${disk2} ${disk3} ${disk4} 130185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 131185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 132185029Spjdexpect_ok ${ZPOOL} import ${name0} 133185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 134185029Spjd 135185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3} 136185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk3} 137185029Spjdexpect_ok ${ZPOOL} export ${name0} 138185029Spjdexp=`( 139185029Spjd echo "invalid vdev specification" 140185029Spjd echo "use '-f' to override the following errors:" 141185029Spjd echo "${fdisk3} is part of potentially active pool '${name0}'" 142185029Spjd)` 143185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} raidz2 ${disk3} ${disk4} ${disk5} ${disk6} 144185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 145185029Spjdexpect_ok ${ZPOOL} create -f ${name1} raidz2 ${disk3} ${disk4} ${disk5} ${disk6} 146185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 147185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 148185029Spjdexpect_ok ${ZPOOL} import ${name0} 149185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 150185029Spjd 151185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2} 152185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk2} 153185029Spjdexpect_ok ${ZPOOL} export ${name0} 154185029Spjdexp=`( 155185029Spjd echo "invalid vdev specification" 156185029Spjd echo "use '-f' to override the following errors:" 157185029Spjd echo "${fdisk2} is part of potentially active pool '${name0}'" 158185029Spjd)` 159185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} ${disk3} log mirror ${disk2} ${disk4} 160185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 161185029Spjdexpect_ok ${ZPOOL} create -f ${name1} ${disk3} log mirror ${disk2} ${disk4} 162185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 163185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 164185029Spjdexpect_ok ${ZPOOL} import ${name0} 165185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 166185029Spjd 167185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} cache ${disk1} 168185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1} 169185029Spjdexpect_ok ${ZPOOL} export ${name0} 170185029Spjdexp=`( 171185029Spjd echo "invalid vdev specification" 172185029Spjd echo "use '-f' to override the following errors:" 173185029Spjd echo "${fdisk1} is part of potentially active pool '${name0}'" 174185029Spjd)` 175185029Spjdadd_msg="# TODO It shouldn't be possible to use offlined cache vdev." 176185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} ${disk2} cache ${disk1} 177185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 178185029Spjdexpect_ok ${ZPOOL} create -f ${name1} ${disk2} cache ${disk1} 179185029Spjdadd_msg="" 180185029Spjdexpect_ok ${ZPOOL} status -x ${name1} 181185029Spjdexpect_ok ${ZPOOL} destroy ${name1} 182185029Spjdexpect_ok ${ZPOOL} import ${name0} 183185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 184185029Spjd 185185029Spjdexpect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1} 186185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1} 187185029Spjdexp=`( 188185029Spjd echo "invalid vdev specification" 189185029Spjd echo "use '-f' to override the following errors:" 190185029Spjd echo "${fdisk1} is part of active pool '${name0}'" 191185029Spjd)` 192185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} mirror ${disk1} ${disk2} 193185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 194185029Spjdexp=`( 195185029Spjd echo "invalid vdev specification" 196185029Spjd echo "the following errors must be manually repaired:" 197185029Spjd echo "${fdisk1} is part of active pool '${name0}'" 198185029Spjd)` 199185029Spjdexpect "${exp}" ${ZPOOL} create -f ${name1} mirror ${disk1} ${disk2} 200185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 201185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk1} 202185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 203185029Spjd 204185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2} 205185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk2} 206185029Spjdexp=`( 207185029Spjd echo "invalid vdev specification" 208185029Spjd echo "use '-f' to override the following errors:" 209185029Spjd echo "${fdisk2} is part of active pool '${name0}'" 210185029Spjd)` 211185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} raidz1 ${disk2} ${disk3} ${disk4} 212185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 213185029Spjdexp=`( 214185029Spjd echo "invalid vdev specification" 215185029Spjd echo "the following errors must be manually repaired:" 216185029Spjd echo "${fdisk2} is part of active pool '${name0}'" 217185029Spjd)` 218185029Spjdexpect "${exp}" ${ZPOOL} create -f ${name1} raidz1 ${disk2} ${disk3} ${disk4} 219185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 220185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk2} 221185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 222185029Spjd 223185029Spjdexpect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3} 224185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk3} 225185029Spjdexp=`( 226185029Spjd echo "invalid vdev specification" 227185029Spjd echo "use '-f' to override the following errors:" 228185029Spjd echo "${fdisk3} is part of active pool '${name0}'" 229185029Spjd)` 230185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} raidz2 ${disk3} ${disk4} ${disk5} ${disk6} 231185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 232185029Spjdexp=`( 233185029Spjd echo "invalid vdev specification" 234185029Spjd echo "the following errors must be manually repaired:" 235185029Spjd echo "${fdisk3} is part of active pool '${name0}'" 236185029Spjd)` 237185029Spjdexpect "${exp}" ${ZPOOL} create -f ${name1} raidz2 ${disk3} ${disk4} ${disk5} ${disk6} 238185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 239185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk3} 240185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 241185029Spjd 242185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2} 243185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk2} 244185029Spjdexp=`( 245185029Spjd echo "invalid vdev specification" 246185029Spjd echo "use '-f' to override the following errors:" 247185029Spjd echo "${fdisk2} is part of active pool '${name0}'" 248185029Spjd)` 249185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} ${disk3} log mirror ${disk2} ${disk4} 250185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 251185029Spjdexp=`( 252185029Spjd echo "invalid vdev specification" 253185029Spjd echo "the following errors must be manually repaired:" 254185029Spjd echo "${fdisk2} is part of active pool '${name0}'" 255185029Spjd)` 256185029Spjdexpect "${exp}" ${ZPOOL} create -f ${name1} ${disk3} log mirror ${disk2} ${disk4} 257185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 258185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk2} 259185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 260185029Spjd 261185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} cache ${disk1} 262185029Spjdexpect_ok ${ZPOOL} offline ${name0} ${disk1} 263185029Spjdexp=`( 264185029Spjd echo "invalid vdev specification" 265185029Spjd echo "use '-f' to override the following errors:" 266185029Spjd echo "${fdisk1} is part of active pool '${name0}'" 267185029Spjd)` 268185029Spjdadd_msg="# TODO It reports that ${fdisk1} is part of unknown pool." 269185029Spjdexpect "${exp}" ${ZPOOL} create ${name1} ${disk2} cache ${disk1} 270185029Spjdadd_msg="" 271185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 272185029Spjdexp=`( 273185029Spjd echo "invalid vdev specification" 274185029Spjd echo "the following errors must be manually repaired:" 275185029Spjd echo "${fdisk1} is part of active pool '${name0}'" 276185029Spjd)` 277185029Spjdadd_msg="# TODO It reports that ${fdisk1} is used twice." 278185029Spjdexpect "${exp}" ${ZPOOL} create -f ${name1} ${disk2} cache ${disk1} 279185029Spjdadd_msg="" 280185029Spjdexpect_fl ${ZPOOL} status -x ${name1} 281185029Spjdexpect_ok ${ZPOOL} online ${name0} ${disk1} 282185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 283185029Spjd 284185029Spjdexpect_ok ${ZPOOL} create ${name0} ${disk0} 285185029Spjdexpect_ok ${ZPOOL} export ${name0} 286185029Spjdexp=`( 287185029Spjd echo "invalid vdev specification" 288185029Spjd echo "use '-f' to override the following errors:" 289185029Spjd echo "${fdisk0} is part of exported pool '${name0}'" 290185029Spjd)` 291185029Spjdexpect "${exp}" ${ZPOOL} create ${name0} ${disk0} 292185029Spjdexpect_fl ${ZPOOL} status -x ${name0} 293185029Spjdexpect_ok ${ZPOOL} create -f ${name0} ${disk0} 294185029Spjdexpect_ok ${ZPOOL} status -x ${name0} 295185029Spjdexpect_ok ${ZPOOL} destroy ${name0} 296185029Spjd 297185029Spjddisks_destroy 298