#!/bin/sh
# $FreeBSD$
dir=`dirname $0`
. ${dir}/../../misc.sh
echo "1..100"
disks_create 7
disks_create 1 64M
files_create 7
files_create 1 64M
names_create 1
expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
expect_fl ${ZPOOL} add ${name0} mirror ${disk7} ${disk2}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo " ${disk1} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1}
expect_ok ${ZPOOL} add -f ${name0} mirror ${disk7} ${disk2}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo " ${disk1} ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${disk7} ONLINE 0 0 0"
echo " ${disk2} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} mirror ${file0} ${file1}
expect_fl ${ZPOOL} add ${name0} mirror ${file7} ${file2}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo " ${file1} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} mirror ${file0} ${file1}
expect_ok ${ZPOOL} add -f ${name0} mirror ${file7} ${file2}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo " ${file1} ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${file7} ONLINE 0 0 0"
echo " ${file2} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
expect_fl ${ZPOOL} add ${name0} raidz1 ${disk3} ${disk7} ${disk4}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " raidz1 ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo " ${disk1} ONLINE 0 0 0"
echo " ${disk2} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2}
expect_ok ${ZPOOL} add -f ${name0} raidz1 ${disk3} ${disk7} ${disk4}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " raidz1 ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo " ${disk1} ONLINE 0 0 0"
echo " ${disk2} ONLINE 0 0 0"
echo " raidz1 ONLINE 0 0 0"
echo " ${disk3} ONLINE 0 0 0"
echo " ${disk7} ONLINE 0 0 0"
echo " ${disk4} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} raidz1 ${file0} ${file1} ${file2}
expect_fl ${ZPOOL} add ${name0} raidz1 ${file3} ${file7} ${file4}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " raidz1 ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo " ${file1} ONLINE 0 0 0"
echo " ${file2} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} raidz1 ${file0} ${file1} ${file2}
expect_ok ${ZPOOL} add -f ${name0} raidz1 ${file3} ${file7} ${file4}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " raidz1 ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo " ${file1} ONLINE 0 0 0"
echo " ${file2} ONLINE 0 0 0"
echo " raidz1 ONLINE 0 0 0"
echo " ${file3} ONLINE 0 0 0"
echo " ${file7} ONLINE 0 0 0"
echo " ${file4} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
expect_fl ${ZPOOL} add ${name0} raidz2 ${disk4} ${disk5} ${disk6} ${disk7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " raidz2 ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo " ${disk1} ONLINE 0 0 0"
echo " ${disk2} ONLINE 0 0 0"
echo " ${disk3} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3}
expect_ok ${ZPOOL} add -f ${name0} raidz2 ${disk4} ${disk5} ${disk6} ${disk7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " raidz2 ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo " ${disk1} ONLINE 0 0 0"
echo " ${disk2} ONLINE 0 0 0"
echo " ${disk3} ONLINE 0 0 0"
echo " raidz2 ONLINE 0 0 0"
echo " ${disk4} ONLINE 0 0 0"
echo " ${disk5} ONLINE 0 0 0"
echo " ${disk6} ONLINE 0 0 0"
echo " ${disk7} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} raidz2 ${file0} ${file1} ${file2} ${file3}
expect_fl ${ZPOOL} add ${name0} raidz2 ${file4} ${file5} ${file6} ${file7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " raidz2 ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo " ${file1} ONLINE 0 0 0"
echo " ${file2} ONLINE 0 0 0"
echo " ${file3} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} raidz2 ${file0} ${file1} ${file2} ${file3}
expect_ok ${ZPOOL} add -f ${name0} raidz2 ${file4} ${file5} ${file6} ${file7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " raidz2 ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo " ${file1} ONLINE 0 0 0"
echo " ${file2} ONLINE 0 0 0"
echo " ${file3} ONLINE 0 0 0"
echo " raidz2 ONLINE 0 0 0"
echo " ${file4} ONLINE 0 0 0"
echo " ${file5} ONLINE 0 0 0"
echo " ${file6} ONLINE 0 0 0"
echo " ${file7} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} ${disk0}
add_msg="# TODO Sun CR 6726091, Lustre bug 16873"
expect_fl ${ZPOOL} add ${name0} log mirror ${disk1} ${disk7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
add_msg=""
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} ${disk0}
expect_ok ${ZPOOL} add -f ${name0} log mirror ${disk1} ${disk7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo " logs ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${disk1} ONLINE 0 0 0"
echo " ${disk7} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} ${file0}
add_msg="# TODO Sun CR 6726091, Lustre bug 16873"
expect_fl ${ZPOOL} add ${name0} log mirror ${file1} ${file7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
add_msg=""
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} ${file0}
expect_ok ${ZPOOL} add -f ${name0} log mirror ${file1} ${file7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo " logs ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${file1} ONLINE 0 0 0"
echo " ${file7} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2}
add_msg="# TODO Sun CR 6726091, Lustre bug 16873"
expect_fl ${ZPOOL} add ${name0} log mirror ${disk3} ${disk7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo " logs ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${disk1} ONLINE 0 0 0"
echo " ${disk2} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
add_msg=""
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} ${disk0} log mirror ${disk1} ${disk2}
expect_ok ${ZPOOL} add -f ${name0} log mirror ${disk3} ${disk7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " ${disk0} ONLINE 0 0 0"
echo " logs ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${disk1} ONLINE 0 0 0"
echo " ${disk2} ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${disk3} ONLINE 0 0 0"
echo " ${disk7} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} ${file0} log mirror ${file1} ${file2}
add_msg="# TODO Sun CR 6726091, Lustre bug 16873"
expect_fl ${ZPOOL} add ${name0} log mirror ${file3} ${file7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo " logs ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${file1} ONLINE 0 0 0"
echo " ${file2} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
add_msg=""
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
expect_ok ${ZPOOL} create ${name0} ${file0} log mirror ${file1} ${file2}
expect_ok ${ZPOOL} add -f ${name0} log mirror ${file3} ${file7}
exp=`(
echo " pool: ${name0}"
echo " state: ONLINE"
echo " scrub: none requested"
echo "config:"
echo " NAME STATE READ WRITE CKSUM"
echo " ${name0} ONLINE 0 0 0"
echo " ${file0} ONLINE 0 0 0"
echo " logs ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${file1} ONLINE 0 0 0"
echo " ${file2} ONLINE 0 0 0"
echo " mirror ONLINE 0 0 0"
echo " ${file3} ONLINE 0 0 0"
echo " ${file7} ONLINE 0 0 0"
echo "errors: No known data errors"
)`
expect "${exp}" ${ZPOOL} status ${name0}
expect_ok ${ZPOOL} destroy ${name0}
expect_fl ${ZPOOL} status -x ${name0}
disks_destroy
files_destroy