~ubuntu-branches/debian/sid/lvm2/sid

« back to all changes in this revision

Viewing changes to test/shell/vgsplit-operation.sh

  • Committer: Package Import Robot
  • Author(s): Bastian Blank
  • Date: 2014-08-19 15:37:06 UTC
  • mfrom: (1.1.18)
  • Revision ID: package-import@ubuntu.com-20140819153706-i1gaio8lg534dara
Tags: 2.02.109-1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
 
12
12
# Test vgsplit operation, including different LV types
13
13
 
14
 
. lib/test
 
14
. lib/inittest
15
15
 
16
16
COMM() {
17
17
        LAST_TEST="$@"
79
79
 
80
80
                lvcreate -an -Zn -l 64 --type mirror -m1 -n $lv1 $vg1 "$dev1" "$dev2" "$dev3"
81
81
                if [ $j = PV ]; then
 
82
                  # FIXME: Not an exhaustive check of possible bad combinations
 
83
                  not vgsplit $vg1 $vg2 "$dev1" "$dev2"
 
84
                  not vgsplit $vg1 $vg2 "$dev1" "$dev3"
 
85
                  not vgsplit $vg1 $vg2 "$dev2" "$dev3"
82
86
                  vgsplit $vg1 $vg2 "$dev1" "$dev2" "$dev3"
83
87
                else
84
88
                  vgsplit -n $lv1 $vg1 $vg2
90
94
                fi
91
95
                lvremove -f $vg2/$lv1
92
96
                vgremove -f $vg2
93
 
# FIXME: ensure split /doesn't/ work when not all devs of mirror specified
 
97
 
 
98
# RHBZ 875903
 
99
COMM "vgsplit correctly splits mirror (log+leg on same dev) into $i VG ($j args)"
 
100
                create_vg_ $vg1 "$dev1" "$dev2" "$dev3"
 
101
                test $i = existing && create_vg_ $vg2 "$dev4"
 
102
 
 
103
                lvcreate -an -Zn -l 64 --type mirror -m1 -n $lv1 $vg1 "$dev1" "$dev2"
 
104
                if [ $j = PV ]; then
 
105
                  not vgsplit $vg1 $vg2 "$dev1"
 
106
                  not vgsplit $vg1 $vg2 "$dev2"
 
107
                  vgsplit $vg1 $vg2 "$dev1" "$dev2"
 
108
                else
 
109
                  vgsplit -n $lv1 $vg1 $vg2
 
110
                fi
 
111
                if [ $i = existing ]; then
 
112
                  check pvlv_counts $vg2 3 1 0
 
113
                else
 
114
                  check pvlv_counts $vg2 2 1 0
 
115
                fi
 
116
                lvremove -f $vg2/$lv1
 
117
                vgremove -f $vg1 $vg2
94
118
 
95
119
COMM "vgsplit correctly splits mirror LV with mirrored log into $i VG ($j args)"
96
120
                create_vg_ -c n $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
100
124
                    "$dev1" "$dev2" "$dev3" "$dev4"
101
125
 
102
126
                if [ $j = PV ]; then
 
127
                  # FIXME: Not an exhaustive check of possible bad combinations
 
128
                  not vgsplit $vg1 $vg2 "$dev1" "$dev2"
 
129
                  not vgsplit $vg1 $vg2 "$dev3" "$dev4"
 
130
                  not vgsplit $vg1 $vg2 "$dev1" "$dev3"
 
131
                  not vgsplit $vg1 $vg2 "$dev2" "$dev4"
103
132
                  vgsplit $vg1 $vg2 "$dev1" "$dev2" "$dev3" "$dev4"
104
133
                else
105
134
                  vgsplit -n $lv1 $vg1 $vg2
111
140
                fi
112
141
                lvremove -f $vg2/$lv1
113
142
                vgremove -f $vg2
114
 
# FIXME: ensure split /doesn't/ work when not all devs of mirror specified
 
143
 
 
144
# RHBZ 875903
 
145
COMM "vgsplit correctly splits mirror LV with mirrored log on same devs into $i VG ($j args)"
 
146
                create_vg_ -c n $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
 
147
                test $i = existing && create_vg_ -c n $vg2 "$dev5"
 
148
 
 
149
                lvcreate -an -Zn -l 64 --mirrorlog mirrored --type mirror -m1 -n $lv1 $vg1 \
 
150
                    "$dev1" "$dev2"
 
151
 
 
152
                if [ $j = PV ]; then
 
153
                  not vgsplit $vg1 $vg2 "$dev1"
 
154
                  not vgsplit $vg1 $vg2 "$dev2"
 
155
                  vgsplit $vg1 $vg2 "$dev1" "$dev2"
 
156
                else
 
157
                  vgsplit -n $lv1 $vg1 $vg2
 
158
                fi
 
159
                if [ $i = existing ]; then
 
160
                  check pvlv_counts $vg2 3 1 0
 
161
                else
 
162
                  check pvlv_counts $vg2 2 1 0
 
163
                fi
 
164
                lvremove -f $vg2/$lv1
 
165
                vgremove -f $vg1 $vg2
115
166
 
116
167
COMM "vgsplit correctly splits origin and snapshot LV into $i VG ($j args)"
117
168
                create_vg_ $vg1 "$dev1" "$dev2"
179
230
                  check pvlv_counts $vg2 1 1 0
180
231
                fi
181
232
                vgremove -f $vg1 $vg2
182
 
 
183
233
        done
184
234
done
185
235
 
228
278
 
229
279
COMM "vgsplit fails splitting 1 mirror + 1 striped LV, only striped LV specified"
230
280
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
231
 
lvcreate -an -Zn -l 16 -n $lv1 --type mirror -m1 $vg1 "$dev1" "$dev2" "$dev3"
 
281
lvcreate -an -Zn -l 16 -n $lv1 --type mirror --nosync -m1 $vg1 "$dev1" "$dev2" "$dev3"
232
282
lvcreate -an -Zn -l 16 -n $lv2 -i 2 $vg1 "$dev3" "$dev4"
233
283
check pvlv_counts $vg1 4 2 0
234
284
not vgsplit -n $lv2 $vg1 $vg2 2>err
239
289
#
240
290
COMM "vgsplit fails, active mirror involved in split"
241
291
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
242
 
lvcreate -aey -l 16 -n $lv1 --type mirror -m1 $vg1 "$dev1" "$dev2" "$dev3"
 
292
lvcreate -aey -l 16 -n $lv1 --type mirror --nosync -m1 $vg1 "$dev1" "$dev2" "$dev3"
243
293
lvcreate -l 16 -n $lv2 $vg1 "$dev4"
244
294
lvchange -an $vg1/$lv2
245
295
check pvlv_counts $vg1 4 2 0
249
299
 
250
300
COMM "vgsplit succeeds, active mirror not involved in split"
251
301
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
252
 
lvcreate -aey -l 16 -n $lv1 --type mirror -m1 $vg1 "$dev1" "$dev2" "$dev3"
 
302
lvcreate -aey -l 16 -n $lv1 --type mirror --nosync -m1 $vg1 "$dev1" "$dev2" "$dev3"
253
303
lvcreate -l 16 -n $lv2 $vg1 "$dev4"
254
304
lvchange -an $vg1/$lv2
255
305
check pvlv_counts $vg1 4 2 0