summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDimitri John Ledkov <xnox@ubuntu.com>2018-07-23 11:41:17 +0100
committerDimitri John Ledkov <xnox@ubuntu.com>2018-07-23 11:41:17 +0100
commit3bed5265f9c792edfcd593eeaa93675711e5e264 (patch)
tree60fcbcc5048f276f07022b12d9b34245a6e8ae8d /tests
parent9421e599c44cd50d3df4cd019cd3c53d9320e93d (diff)
Cherrypick master patches up to 20th of July 2018. LP: #1781427
Diffstat (limited to 'tests')
-rw-r--r--tests/09imsm-create-fail-rebuild4
-rw-r--r--tests/09imsm-overlap12
-rw-r--r--tests/13imsm-r0_r0_2d-grow-r0_r0_4d2
-rw-r--r--tests/13imsm-r0_r0_2d-grow-r0_r0_5d2
-rw-r--r--tests/13imsm-r0_r0_3d-grow-r0_r0_4d2
-rw-r--r--tests/13imsm-r0_r5_3d-grow-r0_r5_4d2
-rw-r--r--tests/13imsm-r0_r5_3d-grow-r0_r5_5d2
-rw-r--r--tests/13imsm-r5_r0_3d-grow-r5_r0_4d2
-rw-r--r--tests/13imsm-r5_r0_3d-grow-r5_r0_5d2
-rw-r--r--tests/14imsm-r0_3d-r5_3d-migrate-r5_4d-r5_4d2
-rw-r--r--tests/14imsm-r0_r0_2d-takeover-r10_4d2
-rw-r--r--tests/14imsm-r10_r5_4d-takeover-r0_2d2
-rw-r--r--tests/15imsm-r5_r0_3d_64k-migrate-r5_r0_3d_256k2
-rw-r--r--tests/16imsm-r0_3d-migrate-r5_4d1
-rw-r--r--tests/16imsm-r0_5d-migrate-r5_6d1
-rw-r--r--tests/16imsm-r5_3d-migrate-r0_3d4
-rw-r--r--tests/16imsm-r5_5d-migrate-r0_5d4
-rw-r--r--tests/18imsm-r1_2d-takeover-r0_1d2
-rw-r--r--tests/env-imsm-template30
-rw-r--r--tests/imsm-grow-template11
20 files changed, 57 insertions, 34 deletions
diff --git a/tests/09imsm-create-fail-rebuild b/tests/09imsm-create-fail-rebuild
index de17f321..f09b437b 100644
--- a/tests/09imsm-create-fail-rebuild
+++ b/tests/09imsm-create-fail-rebuild
@@ -36,7 +36,7 @@ mdadm -CR $member0 $dev0 $dev1 -n $num_disks -l $level -z $size -c $chunk
imsm_check member $member0 $num_disks $level $size $((size*2)) $offset $chunk
testdev $member0 $num_disks $size $chunk
-offset=$(((size & ~(chunk - 1)) + 2048))
+offset=$(((size & ~(1024 - 1)) + 4096))
size=4000
level=1
chunk=0
@@ -60,7 +60,7 @@ mdadm -CR $member0 $dev0 $dev1 $dev2 $dev3 -n $num_disks -l $level -z $size -c $
imsm_check member $member0 $num_disks $level $size $((size*2)) $offset $chunk
testdev $member0 $((num_disks-2)) $size $chunk
-offset=$(((size & ~(chunk - 1)) + 2048))
+offset=$(((size & ~(1024 - 1)) + 4096))
size=4000
level=5
mdadm -CR $member1 $dev0 $dev1 $dev2 $dev3 -n $num_disks -l $level -z $size -c $chunk
diff --git a/tests/09imsm-overlap b/tests/09imsm-overlap
index e832257c..ff5d2093 100644
--- a/tests/09imsm-overlap
+++ b/tests/09imsm-overlap
@@ -5,7 +5,7 @@
mdadm -CR $container -e imsm -n 6 $dev0 $dev1 $dev2 $dev3 $dev4 $dev5
imsm_check container 6
-size=1910
+size=1024
level=1
num_disks=2
mdadm -CR $member0 $dev0 $dev1 -n $num_disks -l $level -z $size
@@ -18,13 +18,11 @@ udevadm settle
offset=0
imsm_check member $member0 $num_disks $level $size 1024 $offset
-offset=$((offset+size+2048))
+offset=$((offset+size+4096))
imsm_check member $member1 $num_disks $level $size 1024 $offset
-offset=$((offset+size+2048))
+offset=$((offset+size+4096))
imsm_check member $member2 $num_disks $level $size 1024 $offset
-# at this point there should be more freespace at the start of the disk
-# than the end
-offset=0
+offset=$((offset+size+4096))
imsm_check member $member3 $num_disks $level $size 1024 $offset
-offset=$((offset+size+2048))
+offset=$((offset+size+4096))
imsm_check member $member4 $num_disks $level $size 1024 $offset
diff --git a/tests/13imsm-r0_r0_2d-grow-r0_r0_4d b/tests/13imsm-r0_r0_2d-grow-r0_r0_4d
index f85efa5d..66ceeb36 100644
--- a/tests/13imsm-r0_r0_2d-grow-r0_r0_4d
+++ b/tests/13imsm-r0_r0_2d-grow-r0_r0_4d
@@ -19,7 +19,7 @@ vol1_level=0
vol1_comp_size=$((5 * 1024))
vol1_chunk=64
vol1_num_comps=$num_disks
-vol1_offset=$((vol0_comp_size + 2048))
+vol1_offset=$((vol0_comp_size + 4096))
# After: RAID 0 volume in slot #0, 4 disks, 128k chunk size
# RAID 0 volume in slot #1, 4 disks, 64k chunk size
diff --git a/tests/13imsm-r0_r0_2d-grow-r0_r0_5d b/tests/13imsm-r0_r0_2d-grow-r0_r0_5d
index 1b851a9b..0da9ef32 100644
--- a/tests/13imsm-r0_r0_2d-grow-r0_r0_5d
+++ b/tests/13imsm-r0_r0_2d-grow-r0_r0_5d
@@ -19,7 +19,7 @@ vol1_level=0
vol1_comp_size=$((6 * 1024))
vol1_chunk=256
vol1_num_comps=$num_disks
-vol1_offset=$((vol0_comp_size + 2048))
+vol1_offset=$((vol0_comp_size + 4096))
# After: RAID 0 volume in slot #0, 5 disks, 64k chunk size
# RAID 0 volume in slot #1, 5 disks, 256k chunk size
diff --git a/tests/13imsm-r0_r0_3d-grow-r0_r0_4d b/tests/13imsm-r0_r0_3d-grow-r0_r0_4d
index 27ba83b3..1ff60257 100644
--- a/tests/13imsm-r0_r0_3d-grow-r0_r0_4d
+++ b/tests/13imsm-r0_r0_3d-grow-r0_r0_4d
@@ -19,7 +19,7 @@ vol1_level=0
vol1_comp_size=$((5 * 1024))
vol1_chunk=128
vol1_num_comps=$num_disks
-vol1_offset=$((vol0_comp_size + 2048))
+vol1_offset=$((vol0_comp_size + 4096))
# After: RAID0 volume in slot #0, 4 disks, 128k chunk size
# RAID0 volume in slot #1, 4 disks, 512k chunk size
diff --git a/tests/13imsm-r0_r5_3d-grow-r0_r5_4d b/tests/13imsm-r0_r5_3d-grow-r0_r5_4d
index b4bde449..2977f367 100644
--- a/tests/13imsm-r0_r5_3d-grow-r0_r5_4d
+++ b/tests/13imsm-r0_r5_3d-grow-r0_r5_4d
@@ -19,7 +19,7 @@ vol1_level=5
vol1_comp_size=$((5 * 1024))
vol1_chunk=128
vol1_num_comps=$((num_disks - 1))
-vol1_offset=$((vol0_comp_size + 2048))
+vol1_offset=$((vol0_comp_size + 4096))
# After: RAID 0 volume in slot #0, 4 disks, 64k chunk size
# RAID 5 volume in slot #1, 4 disks, 128k chunk size
diff --git a/tests/13imsm-r0_r5_3d-grow-r0_r5_5d b/tests/13imsm-r0_r5_3d-grow-r0_r5_5d
index d0db9aeb..ff15ad09 100644
--- a/tests/13imsm-r0_r5_3d-grow-r0_r5_5d
+++ b/tests/13imsm-r0_r5_3d-grow-r0_r5_5d
@@ -19,7 +19,7 @@ vol1_level=5
vol1_comp_size=$((5 * 1024))
vol1_chunk=128
vol1_num_comps=$((num_disks - 1))
-vol1_offset=$((vol0_comp_size + 2048))
+vol1_offset=$((vol0_comp_size + 4096))
# After: RAID 0 volume in slot #0, 5 disks, 256k chunk size
# RAID 5 volume in slot #1, 5 disks, 512k chunk size
diff --git a/tests/13imsm-r5_r0_3d-grow-r5_r0_4d b/tests/13imsm-r5_r0_3d-grow-r5_r0_4d
index 32ebc924..9fed88a2 100644
--- a/tests/13imsm-r5_r0_3d-grow-r5_r0_4d
+++ b/tests/13imsm-r5_r0_3d-grow-r5_r0_4d
@@ -18,7 +18,7 @@ vol0_offset=0
vol1_level=0
vol1_comp_size=$((5 * 1024))
vol1_chunk=64
-vol1_offset=$((vol0_comp_size + 2048))
+vol1_offset=$((vol0_comp_size + 4096))
vol1_num_comps=$num_disks
# After: RAID 5 volume in slot #0, 4 disks, 64k chunk size
diff --git a/tests/13imsm-r5_r0_3d-grow-r5_r0_5d b/tests/13imsm-r5_r0_3d-grow-r5_r0_5d
index a97002d0..e8beddc3 100644
--- a/tests/13imsm-r5_r0_3d-grow-r5_r0_5d
+++ b/tests/13imsm-r5_r0_3d-grow-r5_r0_5d
@@ -18,7 +18,7 @@ vol0_offset=0
vol1_level=0
vol1_comp_size=$((5 * 1024))
vol1_chunk=64
-vol1_offset=$((vol0_comp_size + 2048))
+vol1_offset=$((vol0_comp_size + 4096))
vol1_num_comps=$num_disks
# After: RAID 5 volume in slot #0, 5 disks, 128k chunk size
diff --git a/tests/14imsm-r0_3d-r5_3d-migrate-r5_4d-r5_4d b/tests/14imsm-r0_3d-r5_3d-migrate-r5_4d-r5_4d
index 386abeee..cb7328a9 100644
--- a/tests/14imsm-r0_3d-r5_3d-migrate-r5_4d-r5_4d
+++ b/tests/14imsm-r0_3d-r5_3d-migrate-r5_4d-r5_4d
@@ -19,7 +19,7 @@ vol1_level=5
vol1_comp_size=$((5 * 1024))
vol1_chunk=64
vol1_num_comps=$((num_disks - 1))
-vol1_offset=$((vol0_comp_size + 2048))
+vol1_offset=$((vol0_comp_size + 4096))
# After: RAID 5 volume, 4 disks, 64k chunk size (only member #0)
vol0_new_level=5
diff --git a/tests/14imsm-r0_r0_2d-takeover-r10_4d b/tests/14imsm-r0_r0_2d-takeover-r10_4d
index df5b0ce3..d068abb3 100644
--- a/tests/14imsm-r0_r0_2d-takeover-r10_4d
+++ b/tests/14imsm-r0_r0_2d-takeover-r10_4d
@@ -20,7 +20,7 @@ vol1_level=0
vol1_comp_size=$((5 * 1024))
vol1_chunk=64
vol1_num_comps=num_disks
-vol1_offset=$(( $vol0_comp_size + 2048 ))
+vol1_offset=$(( $vol0_comp_size + 4096 ))
# After: RAID 10, 4 disks, 64k chunk size
vol0_new_level=10
diff --git a/tests/14imsm-r10_r5_4d-takeover-r0_2d b/tests/14imsm-r10_r5_4d-takeover-r0_2d
index 9e5205e2..720e575b 100644
--- a/tests/14imsm-r10_r5_4d-takeover-r0_2d
+++ b/tests/14imsm-r10_r5_4d-takeover-r0_2d
@@ -20,7 +20,7 @@ vol1_level=5
vol1_comp_size=$((5 * 1024))
vol1_chunk=64
vol1_num_comps=$(( $num_disks - 1 ))
-vol1_offset=$(( $vol0_comp_size + 2048 ))
+vol1_offset=$(( $vol0_comp_size + 4096 ))
# After: RAID 10, 4 disks, 64k chunk size
vol0_new_level=0
diff --git a/tests/15imsm-r5_r0_3d_64k-migrate-r5_r0_3d_256k b/tests/15imsm-r5_r0_3d_64k-migrate-r5_r0_3d_256k
index da218efa..f9369d5d 100644
--- a/tests/15imsm-r5_r0_3d_64k-migrate-r5_r0_3d_256k
+++ b/tests/15imsm-r5_r0_3d_64k-migrate-r5_r0_3d_256k
@@ -24,7 +24,7 @@ vol1_level=0
vol1_comp_size=$((5 * 1024))
vol1_chunk=64
vol1_num_comps=$num_disks
-vol1_offset=$((vol0_comp_size + 2048))
+vol1_offset=$((vol0_comp_size + 4096))
# After migration paramters
vol1_new_level=0
diff --git a/tests/16imsm-r0_3d-migrate-r5_4d b/tests/16imsm-r0_3d-migrate-r5_4d
index 4f45479a..265adf94 100644
--- a/tests/16imsm-r0_3d-migrate-r5_4d
+++ b/tests/16imsm-r0_3d-migrate-r5_4d
@@ -15,6 +15,7 @@ vol0_offset=0
# After: RAID 5, 4 disks, 64k chunk size
vol0_new_level=5
+new_num_disks=4
vol0_new_num_comps=$num_disks
vol0_new_chunk=64
diff --git a/tests/16imsm-r0_5d-migrate-r5_6d b/tests/16imsm-r0_5d-migrate-r5_6d
index bee505bf..535b6099 100644
--- a/tests/16imsm-r0_5d-migrate-r5_6d
+++ b/tests/16imsm-r0_5d-migrate-r5_6d
@@ -17,5 +17,6 @@ vol0_offset=0
vol0_new_level=5
vol0_new_num_comps=$num_disks
vol0_new_chunk=64
+new_num_disks=6
. tests/imsm-grow-template 0 1
diff --git a/tests/16imsm-r5_3d-migrate-r0_3d b/tests/16imsm-r5_3d-migrate-r0_3d
index b1459cc1..bcb57090 100644
--- a/tests/16imsm-r5_3d-migrate-r0_3d
+++ b/tests/16imsm-r5_3d-migrate-r0_3d
@@ -1,7 +1,7 @@
. tests/env-imsm-template
# RAID 5 volume (3 disks) migrate to RAID 0 volume (2 disks)
-# POSITIVE test
+# NEGATIVE test
num_disks=3
device_list="$dev0 $dev1 $dev2"
@@ -18,4 +18,4 @@ vol0_new_level=0
vol0_new_num_comps=$((num_disks-1))
vol0_new_chunk=64
-. tests/imsm-grow-template 0 1
+. tests/imsm-grow-template 1 1
diff --git a/tests/16imsm-r5_5d-migrate-r0_5d b/tests/16imsm-r5_5d-migrate-r0_5d
index 323ca52e..ca77435f 100644
--- a/tests/16imsm-r5_5d-migrate-r0_5d
+++ b/tests/16imsm-r5_5d-migrate-r0_5d
@@ -1,7 +1,7 @@
. tests/env-imsm-template
# RAID 5 volume (5 disks) migration to RAID 0 volume (4 disks)
-# POSITIVE test
+# NEGATIVE test
num_disks=5
device_list="$dev0 $dev1 $dev2 $dev3 $dev4"
@@ -18,4 +18,4 @@ vol0_new_level=0
vol0_new_num_comps=$((num_disks - 1))
vol0_new_chunk=64
-. tests/imsm-grow-template 0 1
+. tests/imsm-grow-template 1 1
diff --git a/tests/18imsm-r1_2d-takeover-r0_1d b/tests/18imsm-r1_2d-takeover-r0_1d
index cb10ec97..fd5852ed 100644
--- a/tests/18imsm-r1_2d-takeover-r0_1d
+++ b/tests/18imsm-r1_2d-takeover-r0_1d
@@ -17,6 +17,6 @@ vol0_offset=0
vol0_new_level=0
vol0_new_num_comps=1
vol0_new_chunk=64
-new_num_disks=0
+new_num_disks=1
. tests/imsm-grow-template 0 1
diff --git a/tests/env-imsm-template b/tests/env-imsm-template
index ea45bae9..d5247714 100644
--- a/tests/env-imsm-template
+++ b/tests/env-imsm-template
@@ -14,13 +14,31 @@ imsm_check() {
t_offset=$7
t_chunk=$8
- if [ $t_level -ne 1 ]; then
- t_rd_size=$((t_rd_size & ~(t_chunk - 1)))
- else
+ t_rd_size=$((t_rd_size & ~(1024 - 1)))
+
+ if [ $t_level -eq 1 ]; then
t_chunk=64
fi
- t_size=$((t_size/1024))
- t_size=$((t_size*1024))
+
+ t_num_data_disks=0
+
+ case $t_level in
+ 0)
+ t_num_data_disks=$t_num_disks
+ ;;
+ 1)
+ t_num_data_disks=1
+ ;;
+ 5)
+ t_num_data_disks=$((t_num_disks-1))
+ ;;
+ 10)
+ t_num_data_disks=$((t_num_disks/2))
+ ;;
+ esac
+
+ t_size=$((t_rd_size*t_num_data_disks))
+
err=0
eval `stat -L -c "let major=0x%t; let minor=0x%T;" $t_member`
@@ -30,7 +48,7 @@ imsm_check() {
fi
_chunk=`cat ${sysfs}/md/chunk_size`
if [ $t_chunk -ne $((_chunk/1024)) ]; then
- echo "**Error**: Chunk size mismatch - expected $t_chunk, actual $_chunk" >&2
+ echo "**Error**: Chunk size mismatch - expected $t_chunk, actual $(($_chunk/1024))" >&2
err=$((err + 1))
fi
for i in `seq 0 $((t_num_disks - 1))`; do
diff --git a/tests/imsm-grow-template b/tests/imsm-grow-template
index 71a0bbb1..428e448e 100644
--- a/tests/imsm-grow-template
+++ b/tests/imsm-grow-template
@@ -13,10 +13,15 @@ function grow_member() {
local size=$5
local offset=$6
local chunk=$7
+ local old_chunk=$8
local array_size=$((comps * size))
rm -f $backup_imsm
- ( set -ex; mdadm --grow $member --chunk=$chunk --level=$level )
+ if [ $chunk -eq $old_chunk ]; then
+ ( set -ex; mdadm --grow $member --level=$level )
+ else
+ ( set -ex; mdadm --grow $member --chunk=$chunk )
+ fi
local status=$?
if [ $negative_test -ne 0 ]; then
if [ $status -eq 0 ]; then
@@ -76,9 +81,9 @@ if [ $migration_test -ne 0 ]; then
if [ -z $new_num_disks ]; then
new_num_disks=$num_disks
fi
- grow_member $member0 $new_num_disks $vol0_new_num_comps $vol0_new_level $vol0_comp_size $vol0_offset $vol0_new_chunk
+ grow_member $member0 $new_num_disks $vol0_new_num_comps $vol0_new_level $vol0_comp_size $vol0_offset $vol0_new_chunk $vol0_chunk
if [[ $vol1_new_chunk -ne 0 ]] ; then
- grow_member $member1 $new_num_disks $vol1_new_num_comps $vol1_new_level $vol1_comp_size $vol1_offset $vol1_new_chunk
+ grow_member $member1 $new_num_disks $vol1_new_num_comps $vol1_new_level $vol1_comp_size $vol1_offset $vol1_new_chunk $vol1_chunk
fi
else
rm -f $backup_imsm