diff options
author | Heinz Mauelshagen <heinzm@redhat.com> | 2016-10-28 21:54:10 +0200 |
---|---|---|
committer | Heinz Mauelshagen <heinzm@redhat.com> | 2016-10-28 21:54:10 +0200 |
commit | a9651adc84210d88828f9c3c82a0f382a899a650 (patch) | |
tree | 6ba4d171f89739f87181655f5b6a55f7e2a05f67 | |
parent | e611f82a11fb9c489e73de8c05447ebe2cc26d9a (diff) | |
download | lvm2-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.sh | 9 | ||||
-rw-r--r-- | test/shell/lvchange-raid456.sh | 2 | ||||
-rw-r--r-- | test/shell/lvconvert-raid456.sh | 5 | ||||
-rw-r--r-- | test/shell/lvcreate-large-raid.sh | 5 | ||||
-rw-r--r-- | test/shell/lvcreate-raid-nosync.sh | 5 | ||||
-rw-r--r-- | test/shell/lvcreate-raid.sh | 7 | ||||
-rw-r--r-- | test/shell/lvresize-raid.sh | 7 |
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" |