]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - tools/regression/zfs/zpool/create/spare.t
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / tools / regression / zfs / zpool / create / spare.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 dir=`dirname $0`
5 . ${dir}/../../misc.sh
6
7 echo "1..28"
8
9 disks_create 6
10 names_create 1
11
12 expect_ok ${ZPOOL} create ${name0} ${disk0} spare ${disk1}
13 expect_ok ${ZPOOL} status -x ${name0}
14 expect "pool '${name0}' is healthy" ${ZPOOL} status -x ${name0}
15 exp=`(
16   echo "  pool: ${name0}"
17   echo " state: ONLINE"
18   echo " scrub: none requested"
19   echo "config:"
20   echo "        NAME        STATE   READ WRITE CKSUM"
21   echo "        ${name0}    ONLINE     0     0     0"
22   echo "          ${disk0}  ONLINE     0     0     0"
23   echo "        spares"
24   echo "          ${disk1}  AVAIL"
25   echo "errors: No known data errors"
26 )`
27 expect "${exp}" ${ZPOOL} status ${name0}
28 expect_ok ${ZPOOL} destroy ${name0}
29 expect_fl ${ZPOOL} status -x ${name0}
30 expect_fl ${ZPOOL} destroy ${name0}
31
32 expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1} spare ${disk2} ${disk3}
33 expect_ok ${ZPOOL} status -x ${name0}
34 expect "pool '${name0}' is healthy" ${ZPOOL} status -x ${name0}
35 exp=`(
36   echo "  pool: ${name0}"
37   echo " state: ONLINE"
38   echo " scrub: none requested"
39   echo "config:"
40   echo "        NAME          STATE   READ WRITE CKSUM"
41   echo "        ${name0}      ONLINE     0     0     0"
42   echo "          mirror      ONLINE     0     0     0"
43   echo "            ${disk0}  ONLINE     0     0     0"
44   echo "            ${disk1}  ONLINE     0     0     0"
45   echo "        spares"
46   echo "          ${disk2}    AVAIL"
47   echo "          ${disk3}    AVAIL"
48   echo "errors: No known data errors"
49 )`
50 expect "${exp}" ${ZPOOL} status ${name0}
51 expect_ok ${ZPOOL} destroy ${name0}
52 expect_fl ${ZPOOL} status -x ${name0}
53 expect_fl ${ZPOOL} destroy ${name0}
54
55 expect_ok ${ZPOOL} create ${name0} raidz ${disk0} ${disk1} ${disk2} spare ${disk3} ${disk4}
56 expect_ok ${ZPOOL} status -x ${name0}
57 expect "pool '${name0}' is healthy" ${ZPOOL} status -x ${name0}
58 exp=`(
59   echo "  pool: ${name0}"
60   echo " state: ONLINE"
61   echo " scrub: none requested"
62   echo "config:"
63   echo "        NAME          STATE   READ WRITE CKSUM"
64   echo "        ${name0}      ONLINE     0     0     0"
65   echo "          raidz1      ONLINE     0     0     0"
66   echo "            ${disk0}  ONLINE     0     0     0"
67   echo "            ${disk1}  ONLINE     0     0     0"
68   echo "            ${disk2}  ONLINE     0     0     0"
69   echo "        spares"
70   echo "          ${disk3}    AVAIL"
71   echo "          ${disk4}    AVAIL"
72   echo "errors: No known data errors"
73 )`
74 expect "${exp}" ${ZPOOL} status ${name0}
75 expect_ok ${ZPOOL} destroy ${name0}
76 expect_fl ${ZPOOL} status -x ${name0}
77 expect_fl ${ZPOOL} destroy ${name0}
78
79 expect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3} spare ${disk4} ${disk5}
80 expect_ok ${ZPOOL} status -x ${name0}
81 expect "pool '${name0}' is healthy" ${ZPOOL} status -x ${name0}
82 exp=`(
83   echo "  pool: ${name0}"
84   echo " state: ONLINE"
85   echo " scrub: none requested"
86   echo "config:"
87   echo "        NAME          STATE   READ WRITE CKSUM"
88   echo "        ${name0}      ONLINE     0     0     0"
89   echo "          raidz2      ONLINE     0     0     0"
90   echo "            ${disk0}  ONLINE     0     0     0"
91   echo "            ${disk1}  ONLINE     0     0     0"
92   echo "            ${disk2}  ONLINE     0     0     0"
93   echo "            ${disk3}  ONLINE     0     0     0"
94   echo "        spares"
95   echo "          ${disk4}    AVAIL"
96   echo "          ${disk5}    AVAIL"
97   echo "errors: No known data errors"
98 )`
99 expect "${exp}" ${ZPOOL} status ${name0}
100 expect_ok ${ZPOOL} destroy ${name0}
101 expect_fl ${ZPOOL} status -x ${name0}
102 expect_fl ${ZPOOL} destroy ${name0}
103
104 disks_destroy