cache.t revision 302408
1145524Sdarrenr#!/bin/sh
2145524Sdarrenr# $FreeBSD: stable/11/tools/regression/zfs/zpool/add/cache.t 185029 2008-11-17 20:49:29Z pjd $
3145524Sdarrenr
4162199Sobriendir=`dirname $0`
5145524Sdarrenr. ${dir}/../../misc.sh
6145524Sdarrenr
7145524Sdarrenrecho "1..33"
8145524Sdarrenr
9162199Sobriendisks_create 6
10162199Sobriennames_create 1
11145524Sdarrenr
12145524Sdarrenrexpect_ok ${ZPOOL} create ${name0} ${disk0}
13145524Sdarrenrexpect_fl ${ZPOOL} add ${name0} cache ${disk0}
14145524Sdarrenrexpect_ok ${ZPOOL} destroy ${name0}
15145524Sdarrenrexpect_fl ${ZPOOL} status -x ${name0}
16145524Sdarrenr
17145524Sdarrenrexpect_ok ${ZPOOL} create ${name0} ${disk0} cache ${disk1}
18145524Sdarrenrexpect_fl ${ZPOOL} add ${name0} cache ${disk1}
19145524Sdarrenrexpect_ok ${ZPOOL} destroy ${name0}
20145524Sdarrenrexpect_fl ${ZPOOL} status -x ${name0}
21145524Sdarrenr
22145524Sdarrenrexpect_ok ${ZPOOL} create ${name0} ${disk0}
23145524Sdarrenrexpect_ok ${ZPOOL} add ${name0} cache ${disk1}
24145524Sdarrenrexp=`(
25145524Sdarrenr  echo "  pool: ${name0}"
26145524Sdarrenr  echo " state: ONLINE"
27145524Sdarrenr  echo " scrub: none requested"
28145524Sdarrenr  echo "config:"
29145524Sdarrenr  echo "	NAME        STATE   READ WRITE CKSUM"
30145524Sdarrenr  echo "	${name0}    ONLINE     0     0     0"
31145524Sdarrenr  echo "	  ${disk0}  ONLINE     0     0     0"
32145524Sdarrenr  echo "	cache"
33  echo "	  ${disk1}  ONLINE     0     0     0"
34  echo "errors: No known data errors"
35)`
36expect "${exp}" ${ZPOOL} status ${name0}
37expect_ok ${ZPOOL} destroy ${name0}
38expect_fl ${ZPOOL} status -x ${name0}
39
40expect_ok ${ZPOOL} create ${name0} ${disk0} cache ${disk1}
41expect_ok ${ZPOOL} add ${name0} cache ${disk2}
42exp=`(
43  echo "  pool: ${name0}"
44  echo " state: ONLINE"
45  echo " scrub: none requested"
46  echo "config:"
47  echo "	NAME        STATE   READ WRITE CKSUM"
48  echo "	${name0}    ONLINE     0     0     0"
49  echo "	  ${disk0}  ONLINE     0     0     0"
50  echo "	cache"
51  echo "	  ${disk1}  ONLINE     0     0     0"
52  echo "	  ${disk2}  ONLINE     0     0     0"
53  echo "errors: No known data errors"
54)`
55expect "${exp}" ${ZPOOL} status ${name0}
56expect_ok ${ZPOOL} destroy ${name0}
57expect_fl ${ZPOOL} status -x ${name0}
58
59expect_ok ${ZPOOL} create ${name0} mirror ${disk0} ${disk1} cache ${disk2} ${disk3}
60expect_ok ${ZPOOL} add ${name0} cache ${disk4}
61exp=`(
62  echo "  pool: ${name0}"
63  echo " state: ONLINE"
64  echo " scrub: none requested"
65  echo "config:"
66  echo "	NAME          STATE   READ WRITE CKSUM"
67  echo "	${name0}      ONLINE     0     0     0"
68  echo "	  mirror      ONLINE     0     0     0"
69  echo "	    ${disk0}  ONLINE     0     0     0"
70  echo "	    ${disk1}  ONLINE     0     0     0"
71  echo "	cache"
72  echo "	  ${disk2}    ONLINE     0     0     0"
73  echo "	  ${disk3}    ONLINE     0     0     0"
74  echo "	  ${disk4}    ONLINE     0     0     0"
75  echo "errors: No known data errors"
76)`
77expect "${exp}" ${ZPOOL} status ${name0}
78expect_ok ${ZPOOL} destroy ${name0}
79expect_fl ${ZPOOL} status -x ${name0}
80
81expect_ok ${ZPOOL} create ${name0} raidz1 ${disk0} ${disk1} ${disk2} cache ${disk3}
82expect_ok ${ZPOOL} add ${name0} cache ${disk4}
83exp=`(
84  echo "  pool: ${name0}"
85  echo " state: ONLINE"
86  echo " scrub: none requested"
87  echo "config:"
88  echo "	NAME          STATE   READ WRITE CKSUM"
89  echo "	${name0}      ONLINE     0     0     0"
90  echo "	  raidz1      ONLINE     0     0     0"
91  echo "	    ${disk0}  ONLINE     0     0     0"
92  echo "	    ${disk1}  ONLINE     0     0     0"
93  echo "	    ${disk2}  ONLINE     0     0     0"
94  echo "	cache"
95  echo "	  ${disk3}    ONLINE     0     0     0"
96  echo "	  ${disk4}    ONLINE     0     0     0"
97  echo "errors: No known data errors"
98)`
99expect "${exp}" ${ZPOOL} status ${name0}
100expect_ok ${ZPOOL} destroy ${name0}
101expect_fl ${ZPOOL} status -x ${name0}
102
103expect_ok ${ZPOOL} create ${name0} raidz2 ${disk0} ${disk1} ${disk2} ${disk3} cache ${disk4}
104expect_ok ${ZPOOL} add ${name0} cache ${disk5}
105exp=`(
106  echo "  pool: ${name0}"
107  echo " state: ONLINE"
108  echo " scrub: none requested"
109  echo "config:"
110  echo "	NAME          STATE   READ WRITE CKSUM"
111  echo "	${name0}      ONLINE     0     0     0"
112  echo "	  raidz2      ONLINE     0     0     0"
113  echo "	    ${disk0}  ONLINE     0     0     0"
114  echo "	    ${disk1}  ONLINE     0     0     0"
115  echo "	    ${disk2}  ONLINE     0     0     0"
116  echo "	    ${disk3}  ONLINE     0     0     0"
117  echo "	cache"
118  echo "	  ${disk4}    ONLINE     0     0     0"
119  echo "	  ${disk5}    ONLINE     0     0     0"
120  echo "errors: No known data errors"
121)`
122expect "${exp}" ${ZPOOL} status ${name0}
123expect_ok ${ZPOOL} destroy ${name0}
124expect_fl ${ZPOOL} status -x ${name0}
125
126disks_destroy
127