diff options
Diffstat (limited to 'test/shell/vgsplit-operation.sh')
-rw-r--r-- | test/shell/vgsplit-operation.sh | 116 |
1 files changed, 48 insertions, 68 deletions
diff --git a/test/shell/vgsplit-operation.sh b/test/shell/vgsplit-operation.sh index 20a5cb25..5242cdd8 100644 --- a/test/shell/vgsplit-operation.sh +++ b/test/shell/vgsplit-operation.sh @@ -17,7 +17,11 @@ COMM() { LAST_TEST="$@" } -aux prepare_pvs 5 258 +create_vg_() { + vgcreate -c n -s 64k "$@" +} + +aux prepare_pvs 5 10 # FIXME: paramaterize lvm1 vs lvm2 metadata; most of these tests should run # fine with lvm1 metadata as well; for now, just add disks 5 and 6 as lvm1 # metadata @@ -33,10 +37,9 @@ do for j in PV LV do COMM "vgsplit correctly splits single linear LV into $i VG ($j args)" - vgcreate $vg1 $dev1 $dev2 - if [ $i = existing ]; then - vgcreate $vg2 $dev3 $dev4 - fi + create_vg_ $vg1 $dev1 $dev2 + test $i = existing && create_vg_ $vg2 $dev3 $dev4 + lvcreate -l 4 -n $lv1 $vg1 $dev1 vgchange -an $vg1 if [ $j = PV ]; then @@ -51,14 +54,12 @@ COMM "vgsplit correctly splits single linear LV into $i VG ($j args)" check pvlv_counts $vg2 1 1 0 fi lvremove -f $vg2/$lv1 - vgremove -f $vg2 - vgremove -f $vg1 + vgremove -f $vg2 $vg1 COMM "vgsplit correctly splits single striped LV into $i VG ($j args)" - vgcreate $vg1 $dev1 $dev2 - if [ $i = existing ]; then - vgcreate $vg2 $dev3 $dev4 - fi + create_vg_ $vg1 $dev1 $dev2 + test $i = existing && create_vg_ $vg2 $dev3 $dev4 + lvcreate -l 4 -i 2 -n $lv1 $vg1 $dev1 $dev2 vgchange -an $vg1 if [ $j = PV ]; then @@ -75,10 +76,9 @@ COMM "vgsplit correctly splits single striped LV into $i VG ($j args)" vgremove -f $vg2 COMM "vgsplit correctly splits mirror LV into $i VG ($j args)" - vgcreate -c n $vg1 $dev1 $dev2 $dev3 - if [ $i = existing ]; then - vgcreate -c n $vg2 $dev4 - fi + create_vg_ $vg1 $dev1 $dev2 $dev3 + test $i = existing && create_vg_ $vg2 $dev4 + lvcreate -l 64 -m1 -n $lv1 $vg1 $dev1 $dev2 $dev3 vgchange -an $vg1 if [ $j = PV ]; then @@ -96,10 +96,8 @@ COMM "vgsplit correctly splits mirror LV into $i VG ($j args)" # FIXME: ensure split /doesn't/ work when not all devs of mirror specified COMM "vgsplit correctly splits mirror LV with mirrored log into $i VG ($j args)" - vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4 - if [ $i = existing ]; then - vgcreate -c n $vg2 $dev5 - fi + create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4 + test $i = existing && create_vg_ $vg2 $dev5 lvcreate -l 64 --mirrorlog mirrored -m1 -n $lv1 $vg1 \ $dev1 $dev2 $dev3 $dev4 @@ -120,10 +118,9 @@ COMM "vgsplit correctly splits mirror LV with mirrored log into $i VG ($j args)" # FIXME: ensure split /doesn't/ work when not all devs of mirror specified COMM "vgsplit correctly splits origin and snapshot LV into $i VG ($j args)" - vgcreate -c n $vg1 $dev1 $dev2 - if [ $i = existing ]; then - vgcreate -c n $vg2 $dev3 $dev4 - fi + create_vg_ $vg1 $dev1 $dev2 + test $i = existing && create_vg_ $vg2 $dev3 $dev4 + lvcreate -l 64 -i 2 -n $lv1 $vg1 $dev1 $dev2 lvcreate -l 4 -i 2 -s -n $lv2 $vg1/$lv1 vgchange -an $vg1 @@ -137,15 +134,14 @@ COMM "vgsplit correctly splits origin and snapshot LV into $i VG ($j args)" else check pvlv_counts $vg2 2 2 1 fi - lvremove -f $vg2/$lv2 - lvremove -f $vg2/$lv1 + lvremove -f $vg2/$lv2 + lvremove -f $vg2/$lv1 vgremove -f $vg2 COMM "vgsplit correctly splits linear LV but not snap+origin LV into $i VG ($j args)" - vgcreate -c n $vg1 $dev1 $dev2 - if [ $i = existing ]; then - vgcreate -c n $vg2 $dev3 - fi + create_vg_ $vg1 $dev1 $dev2 + test $i = existing && create_vg_ $vg2 $dev3 + lvcreate -l 64 -i 2 -n $lv1 $vg1 lvcreate -l 4 -i 2 -s -n $lv2 $vg1/$lv1 vgextend $vg1 $dev4 @@ -163,24 +159,18 @@ COMM "vgsplit correctly splits linear LV but not snap+origin LV into $i VG ($j a check pvlv_counts $vg2 1 1 0 check pvlv_counts $vg1 2 2 1 fi - lvremove -f $vg1/$lv2 - lvremove -f $vg1/$lv1 - lvremove -f $vg2/$lv3 - vgremove -f $vg1 - vgremove -f $vg2 + lvremove -f $vg1/$lv2 + lvremove -f $vg1/$lv1 $vg2/$lv3 + vgremove -f $vg1 $vg2 COMM "vgsplit correctly splits linear LV but not mirror LV into $i VG ($j args)" - vgcreate -c n $vg1 $dev1 $dev2 $dev3 - if [ $i = existing ]; then - vgcreate -c n $vg2 $dev5 - fi + create_vg_ $vg1 $dev1 $dev2 $dev3 + test $i = existing && create_vg_ $vg2 $dev5 + lvcreate -l 64 -m1 -n $lv1 $vg1 $dev1 $dev2 $dev3 vgextend $vg1 $dev4 lvcreate -l 64 -n $lv2 $vg1 $dev4 vgchange -an $vg1 - vgs - lvs - pvs if [ $j = PV ]; then vgsplit $vg1 $vg2 $dev4 else @@ -190,16 +180,11 @@ COMM "vgsplit correctly splits linear LV but not mirror LV into $i VG ($j args)" check pvlv_counts $vg1 3 1 0 check pvlv_counts $vg2 2 1 0 else - vgs - lvs - pvs check pvlv_counts $vg1 3 1 0 check pvlv_counts $vg2 1 1 0 fi - lvremove -f $vg1/$lv1 - lvremove -f $vg2/$lv2 - vgremove -f $vg1 - vgremove -f $vg2 + lvremove -f $vg1/$lv1 $vg2/$lv2 + vgremove -f $vg1 $vg2 done done @@ -209,7 +194,7 @@ done # LVs to split the VG correctly # COMM "vgsplit fails splitting 3 striped LVs into VG when only 1 LV specified" -vgcreate $vg1 $dev1 $dev2 $dev3 $dev4 +create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4 lvcreate -l 4 -n $lv1 -i 2 $vg1 $dev1 $dev2 lvcreate -l 4 -n $lv2 -i 2 $vg1 $dev2 $dev3 lvcreate -l 4 -n $lv3 -i 2 $vg1 $dev3 $dev4 @@ -218,33 +203,31 @@ not vgsplit -n $lv1 $vg1 $vg2 vgremove -ff $vg1 COMM "vgsplit fails splitting one LV with 2 snapshots, only origin LV specified" -vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4 +create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4 lvcreate -l 16 -n $lv1 $vg1 $dev1 $dev2 lvcreate -l 4 -n $lv2 -s $vg1/$lv1 $dev3 lvcreate -l 4 -n $lv3 -s $vg1/$lv1 $dev4 check pvlv_counts $vg1 4 3 2 vgchange -an $vg1 not vgsplit -n $lv1 $vg1 $vg2; -lvremove -f $vg1/$lv2 -lvremove -f $vg1/$lv3 -lvremove -f $vg1/$lv1 +lvremove -f $vg1/$lv2 $vg1/$lv3 +lvremove -f $vg1/$lv1 vgremove -ff $vg1 COMM "vgsplit fails splitting one LV with 2 snapshots, only snapshot LV specified" -vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4 +create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4 lvcreate -l 16 -n $lv1 $vg1 $dev1 $dev2 lvcreate -l 4 -n $lv2 -s $vg1/$lv1 $dev3 lvcreate -l 4 -n $lv3 -s $vg1/$lv1 $dev4 check pvlv_counts $vg1 4 3 2 vgchange -an $vg1 not vgsplit -n $lv2 $vg1 $vg2 -lvremove -f $vg1/$lv2 -lvremove -f $vg1/$lv3 -lvremove -f $vg1/$lv1 +lvremove -f $vg1/$lv2 $vg1/$lv3 +lvremove -f $vg1/$lv1 vgremove -ff $vg1 COMM "vgsplit fails splitting one mirror LV, only one PV specified" -vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4 +create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4 lvcreate -l 16 -n $lv1 -m1 $vg1 $dev1 $dev2 $dev3 check pvlv_counts $vg1 4 1 0 vgchange -an $vg1 @@ -252,7 +235,7 @@ not vgsplit $vg1 $vg2 $dev2 vgremove -ff $vg1 COMM "vgsplit fails splitting 1 mirror + 1 striped LV, only striped LV specified" -vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4 +create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4 lvcreate -l 16 -n $lv1 -m1 $vg1 $dev1 $dev2 $dev3 lvcreate -l 16 -n $lv2 -i 2 $vg1 $dev3 $dev4 check pvlv_counts $vg1 4 2 0 @@ -264,7 +247,7 @@ vgremove -ff $vg1 # Verify vgsplit rejects active LVs only when active LVs involved in split # COMM "vgsplit fails, active mirror involved in split" -vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4 +create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4 lvcreate -l 16 -n $lv1 -m1 $vg1 $dev1 $dev2 $dev3 lvcreate -l 16 -n $lv2 $vg1 $dev4 lvchange -an $vg1/$lv2 @@ -274,7 +257,7 @@ check pvlv_counts $vg1 4 2 0 vgremove -ff $vg1 COMM "vgsplit succeeds, active mirror not involved in split" -vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4 +create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4 lvcreate -l 16 -n $lv1 -m1 $vg1 $dev1 $dev2 $dev3 lvcreate -l 16 -n $lv2 $vg1 $dev4 lvchange -an $vg1/$lv2 @@ -282,11 +265,10 @@ check pvlv_counts $vg1 4 2 0 vgsplit -n $lv2 $vg1 $vg2 check pvlv_counts $vg1 3 1 0 check pvlv_counts $vg2 1 1 0 -vgremove -ff $vg1 -vgremove -ff $vg2 +vgremove -ff $vg1 $vg2 COMM "vgsplit fails, active snapshot involved in split" -vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4 +create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4 lvcreate -l 64 -i 2 -n $lv1 $vg1 $dev1 $dev2 lvcreate -l 4 -i 2 -s -n $lv2 $vg1/$lv1 lvcreate -l 64 -i 2 -n $lv3 $vg1 $dev3 $dev4 @@ -298,7 +280,7 @@ lvremove -f $vg1/$lv2 vgremove -ff $vg1 COMM "vgsplit succeeds, active snapshot not involved in split" -vgcreate -c n $vg1 $dev1 $dev2 $dev3 +create_vg_ $vg1 $dev1 $dev2 $dev3 lvcreate -l 64 -i 2 -n $lv1 $vg1 $dev1 $dev2 lvcreate -l 4 -s -n $lv2 $vg1/$lv1 vgextend $vg1 $dev4 @@ -310,6 +292,4 @@ check pvlv_counts $vg1 3 2 1 check pvlv_counts $vg2 1 1 0 vgchange -an $vg1 lvremove -f $vg1/$lv2 -vgremove -ff $vg1 -vgremove -ff $vg2 - +vgremove -ff $vg1 $vg2 |