summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinz Mauelshagen <heinzm@redhat.com>2016-10-28 21:54:10 +0200
committerHeinz Mauelshagen <heinzm@redhat.com>2016-10-28 21:54:10 +0200
commita9651adc84210d88828f9c3c82a0f382a899a650 (patch)
tree6ba4d171f89739f87181655f5b6a55f7e2a05f67
parente611f82a11fb9c489e73de8c05447ebe2cc26d9a (diff)
downloadlvm2-a9651adc84210d88828f9c3c82a0f382a899a650.tar.gz
test: add raid4 checks to respective tests
Add missing checks for valid raid4 mapping to tests.
-rw-r--r--test/lib/aux.sh9
-rw-r--r--test/shell/lvchange-raid456.sh2
-rw-r--r--test/shell/lvconvert-raid456.sh5
-rw-r--r--test/shell/lvcreate-large-raid.sh5
-rw-r--r--test/shell/lvcreate-raid-nosync.sh5
-rw-r--r--test/shell/lvcreate-raid.sh7
-rw-r--r--test/shell/lvresize-raid.sh7
7 files changed, 32 insertions, 8 deletions
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index e52312357..7187975a8 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -1376,6 +1376,15 @@ have_raid() {
esac
}
+have_raid4 () {
+ local r=1
+
+ have_raid 1 8 0 && r=0
+ have_raid 1 9 1 && r=1
+
+ return $r
+}
+
have_cache() {
test "$CACHE" = shared -o "$CACHE" = internal || {
echo "Cache is not built-in." >&2
diff --git a/test/shell/lvchange-raid456.sh b/test/shell/lvchange-raid456.sh
index 13b19dd6a..5cdcbdea9 100644
--- a/test/shell/lvchange-raid456.sh
+++ b/test/shell/lvchange-raid456.sh
@@ -16,7 +16,7 @@ TEST_RAID=raid456
aux raid456_replace_works || skip
aux have_raid 1 5 2 || skip
-run_types raid4 -i 2 "$dev1" "$dev2" "$dev3" "$dev4"
+aux have_raid4 && run_types raid4 -i 2 "$dev1" "$dev2" "$dev3" "$dev4"
run_types raid5 -i 2 "$dev1" "$dev2" "$dev3" "$dev4"
run_types raid6 -i 3 "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
diff --git a/test/shell/lvconvert-raid456.sh b/test/shell/lvconvert-raid456.sh
index f7e6e56cd..358ceec5b 100644
--- a/test/shell/lvconvert-raid456.sh
+++ b/test/shell/lvconvert-raid456.sh
@@ -31,8 +31,11 @@ aux have_raid 1 3 0 || skip
aux prepare_pvs 7 # 7 devices for 2 dev replacement of 5-dev RAID6
vgcreate -s 256k $vg $(cat DEVICES)
+levels="5 6"
+aux have_raid4 && levels="4 5 6"
+
# RAID 4/5/6 (can replace up to 'parity' devices)
-for i in 4 5 6; do
+for i in $levels; do
lvcreate --type raid$i -i 3 -l 3 -n $lv1 $vg
if [ $i -eq 6 ]; then
diff --git a/test/shell/lvcreate-large-raid.sh b/test/shell/lvcreate-large-raid.sh
index 11a69d44e..4e68b2c3c 100644
--- a/test/shell/lvcreate-large-raid.sh
+++ b/test/shell/lvcreate-large-raid.sh
@@ -21,6 +21,9 @@ aux can_use_16T || skip
aux have_raid 1 3 0 || skip
+segtypes="raid5"
+aux have_raid4 && segtypes="raid4 raid5"
+
# Prepare 5x ~1P sized devices
aux prepare_pvs 5 1000000000
@@ -53,7 +56,7 @@ check raid_leg_status $vg1 $lv1 "AA"
lvremove -ff $vg1
# 750 TiB raid4/5
-for segtype in raid4 raid5; do
+for segtype in $segtypes; do
lvcreate --type $segtype -i 3 -L 750T -n $lv1 $vg1 --nosync
check lv_field $vg1/$lv1 size "750.00t"
check raid_leg_status $vg1 $lv1 "AAAA"
diff --git a/test/shell/lvcreate-raid-nosync.sh b/test/shell/lvcreate-raid-nosync.sh
index fdb4f6875..1343e8f6e 100644
--- a/test/shell/lvcreate-raid-nosync.sh
+++ b/test/shell/lvcreate-raid-nosync.sh
@@ -16,6 +16,9 @@ SKIP_WITH_LVMPOLLD=1
aux have_raid 1 7 0 || skip
+segtypes=raid5
+aux have_raid4 && segtypes="raid4 raid5"
+
aux prepare_vg 6
@@ -43,7 +46,7 @@ lvcreate --yes --type raid1 --nosync -m 2 -l 1 -n $lv1 $vg
check raid_leg_status $vg $lv1 "AAA"
lvremove --yes $vg/$lv1
-for r in raid4 raid5
+for r in $segtypes
do
# raid4/5 support resynchronization
lvcreate --yes --type $r -i 3 -l 2 -n $lv1 $vg
diff --git a/test/shell/lvcreate-raid.sh b/test/shell/lvcreate-raid.sh
index 66434b0db..f1a4a6815 100644
--- a/test/shell/lvcreate-raid.sh
+++ b/test/shell/lvcreate-raid.sh
@@ -23,6 +23,9 @@ lv_devices() {
########################################################
aux have_raid 1 3 0 || skip
+RAID4=""
+aux have_raid4 && RAID4=raid4
+
aux prepare_pvs 6 20 # 6 devices for RAID10 (2-mirror,3-stripe) test
vgcreate -s 512k $vg $(cat DEVICES)
@@ -54,7 +57,7 @@ aux wait_for_sync $vg $lv1
lvremove -ff $vg
# Create RAID 4/5/6 (explicit 3-stripe + parity devs)
-for i in raid4 \
+for i in $RAID4 \
raid5 raid5_ls raid5_la raid5_rs raid5_ra \
raid6 raid6_zr raid6_nr raid6_nc; do
@@ -64,7 +67,7 @@ for i in raid4 \
done
# Create RAID 4/5/6 (explicit 3-stripe + parity devs) - Set min/max recovery
-for i in raid4 \
+for i in $RAID4 \
raid5 raid5_ls raid5_la raid5_rs raid5_ra \
raid6 raid6_zr raid6_nr raid6_nc; do
diff --git a/test/shell/lvresize-raid.sh b/test/shell/lvresize-raid.sh
index 98eef2862..4eabe4c5a 100644
--- a/test/shell/lvresize-raid.sh
+++ b/test/shell/lvresize-raid.sh
@@ -16,6 +16,9 @@ SKIP_WITH_LVMPOLLD=1
aux have_raid 1 3 0 || skip
+levels="5 6"
+aux have_raid4 && levels="4 5 6"
+
aux prepare_pvs 6 80
vgcreate -s 256K $vg $(cat DEVICES)
@@ -37,7 +40,7 @@ for deactivate in true false; do
#check raid_images_contiguous $vg $lv1
# Extend and reduce 3-striped RAID 4/5/6
- for i in 4 5 6 ; do
+ for i in $levels ; do
lvcreate --type raid$i -i 3 -l 3 -n $lv2 $vg
test $deactivate && {
@@ -59,7 +62,7 @@ done
# Bug 1005434
# Ensure extend is contiguous
-lvcreate --type raid4 -l 2 -i 2 -n $lv1 $vg "$dev4" "$dev5" "$dev6"
+lvcreate --type raid5 -l 2 -i 2 -n $lv1 $vg "$dev4" "$dev5" "$dev6"
lvextend -l +2 --alloc contiguous $vg/$lv1
check lv_tree_on $vg $lv1 "$dev4" "$dev5" "$dev6"