diff options
Diffstat (limited to '')
-rw-r--r-- | tests/05r6tor0 | 4 | ||||
-rw-r--r-- | tests/07changelevels | 27 | ||||
-rw-r--r-- | tests/07changelevels.broken | 9 | ||||
-rw-r--r-- | tests/07reshape5intr.broken | 45 | ||||
-rw-r--r-- | tests/07testreshape5 | 1 | ||||
-rw-r--r-- | tests/07testreshape5.broken | 12 | ||||
-rw-r--r-- | tests/09imsm-assemble.broken | 6 | ||||
-rw-r--r-- | tests/18imsm-1d-takeover-r0_1d | 4 | ||||
-rw-r--r-- | tests/func.sh | 4 | ||||
-rw-r--r-- | tests/imsm-grow-template | 10 |
10 files changed, 28 insertions, 94 deletions
diff --git a/tests/05r6tor0 b/tests/05r6tor0 index 2fd51f2..b2685b7 100644 --- a/tests/05r6tor0 +++ b/tests/05r6tor0 @@ -13,6 +13,10 @@ check raid5 testdev $md0 3 19456 512 mdadm -G $md0 -l0 check wait; sleep 1 +while ps auxf | grep "mdadm -G" | grep -v grep +do + sleep 1 +done check raid0 testdev $md0 3 19456 512 mdadm -G $md0 -l5 --add $dev3 $dev4 diff --git a/tests/07changelevels b/tests/07changelevels index a328874..3df8660 100644 --- a/tests/07changelevels +++ b/tests/07changelevels @@ -10,7 +10,6 @@ export MDADM_GROW_VERIFY=1 dotest() { sleep 2 check wait - testdev $md0 $1 19968 64 nd blockdev --flushbufs $md0 cmp -s -n $[textK*1024] $md0 /tmp/RandFile || { echo cmp failed; exit 2; } # write something new - shift chars 4 space @@ -24,7 +23,7 @@ checkgeo() { # level raid_disks chunk_size layout dev=$1 shift - sleep 0.5 + sleep 15 check wait sleep 1 for attr in level raid_disks chunk_size layout @@ -43,22 +42,25 @@ checkgeo() { bu=/tmp/md-test-backup rm -f $bu -mdadm -CR $md0 -l1 -n2 -x1 $dev0 $dev1 $dev2 -z 19968 -testdev $md0 1 $mdsize1a 64 +mdadm -CR $md0 -l1 -n2 -x1 $dev0 $dev1 $dev2 +[ -b $md0 ] || die "$1 isn't a block device." dd if=/tmp/RandFile of=$md0 dotest 1 -mdadm --grow $md0 -l5 -n3 --chunk 64 +mdadm --grow $md0 -l5 -n3 +checkgeo md0 raid5 3 dotest 2 mdadm $md0 --add $dev3 $dev4 mdadm --grow $md0 -n4 --chunk 32 +checkgeo md0 raid5 4 $[32*1024] dotest 3 mdadm -G $md0 -l6 --backup-file $bu +checkgeo md0 raid6 5 $[32*1024] dotest 3 -mdadm -G /dev/md0 --array-size 39936 +mdadm -G /dev/md0 --array-size 37888 mdadm -G $md0 -n4 --backup-file $bu checkgeo md0 raid6 4 $[32*1024] dotest 2 @@ -67,14 +69,11 @@ mdadm -G $md0 -l5 --backup-file $bu checkgeo md0 raid5 3 $[32*1024] dotest 2 -mdadm -G /dev/md0 --array-size 19968 +mdadm -G /dev/md0 --array-size 18944 mdadm -G $md0 -n2 --backup-file $bu checkgeo md0 raid5 2 $[32*1024] dotest 1 -mdadm -G --level=1 $md0 -dotest 1 - # now repeat that last few steps only with a degraded array. mdadm -S $md0 mdadm -CR $md0 -l6 -n5 $dev0 $dev1 $dev2 $dev3 $dev4 @@ -83,7 +82,7 @@ dotest 3 mdadm $md0 --fail $dev0 -mdadm -G /dev/md0 --array-size 37888 +mdadm -G /dev/md0 --array-size 35840 mdadm -G $md0 -n4 --backup-file $bu dotest 2 checkgeo md0 raid6 4 $[512*1024] @@ -103,12 +102,10 @@ dotest 2 mdadm -G $md0 -l5 --backup-file $bu dotest 2 -mdadm -G /dev/md0 --array-size 18944 +mdadm -G /dev/md0 --array-size 17920 mdadm -G $md0 -n2 --backup-file $bu dotest 1 checkgeo md0 raid5 2 $[512*1024] mdadm $md0 --fail $dev2 -mdadm -G --level=1 $md0 -dotest 1 -checkgeo md0 raid1 2 +mdadm -S $md0 diff --git a/tests/07changelevels.broken b/tests/07changelevels.broken deleted file mode 100644 index 9b930d9..0000000 --- a/tests/07changelevels.broken +++ /dev/null @@ -1,9 +0,0 @@ -always fails - -Fails with errors: - - mdadm: /dev/loop0 is smaller than given size. 18976K < 19968K + metadata - mdadm: /dev/loop1 is smaller than given size. 18976K < 19968K + metadata - mdadm: /dev/loop2 is smaller than given size. 18976K < 19968K + metadata - - ERROR: /dev/md0 isn't a block device. diff --git a/tests/07reshape5intr.broken b/tests/07reshape5intr.broken deleted file mode 100644 index efe52a6..0000000 --- a/tests/07reshape5intr.broken +++ /dev/null @@ -1,45 +0,0 @@ -always fails - -This patch, recently added to md-next causes the test to always fail: - -7e6ba434cc60 ("md: don't unregister sync_thread with reconfig_mutex -held") - -The new error is simply: - - ERROR: no reshape happening - -Before the patch, the error seen is below. - --- - -fails infrequently - -Fails roughly 1 in 4 runs with errors: - - mdadm: Merging with already-assembled /dev/md/0 - mdadm: cannot re-read metadata from /dev/loop6 - aborting - - ERROR: no reshape happening - -Also have seen a random deadlock: - - INFO: task mdadm:109702 blocked for more than 30 seconds. - Not tainted 5.18.0-rc3-eid-vmlocalyes-dbg-00095-g3c2b5427979d #2040 - "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. - task:mdadm state:D stack: 0 pid:109702 ppid: 1 flags:0x00004000 - Call Trace: - <TASK> - __schedule+0x67e/0x13b0 - schedule+0x82/0x110 - mddev_suspend+0x2e1/0x330 - suspend_lo_store+0xbd/0x140 - md_attr_store+0xcb/0x130 - sysfs_kf_write+0x89/0xb0 - kernfs_fop_write_iter+0x202/0x2c0 - new_sync_write+0x222/0x330 - vfs_write+0x3bc/0x4d0 - ksys_write+0xd9/0x180 - __x64_sys_write+0x43/0x50 - do_syscall_64+0x3b/0x90 - entry_SYSCALL_64_after_hwframe+0x44/0xae diff --git a/tests/07testreshape5 b/tests/07testreshape5 index 0e1f25f..d90fd15 100644 --- a/tests/07testreshape5 +++ b/tests/07testreshape5 @@ -4,6 +4,7 @@ # kernel md code to move data into and out of variously # shaped md arrays. set -x +dir="." layouts=(la ra ls rs) for level in 5 6 do diff --git a/tests/07testreshape5.broken b/tests/07testreshape5.broken deleted file mode 100644 index a8ce03e..0000000 --- a/tests/07testreshape5.broken +++ /dev/null @@ -1,12 +0,0 @@ -always fails - -Test seems to run 'test_stripe' at $dir directory, but $dir is never -set. If $dir is adjusted to $PWD, the test still fails with: - - mdadm: /dev/loop2 is not suitable for this array. - mdadm: create aborted - ++ return 1 - ++ cmp -s -n 8192 /dev/md0 /tmp/RandFile - ++ echo cmp failed - cmp failed - ++ exit 2 diff --git a/tests/09imsm-assemble.broken b/tests/09imsm-assemble.broken deleted file mode 100644 index a6d4d5c..0000000 --- a/tests/09imsm-assemble.broken +++ /dev/null @@ -1,6 +0,0 @@ -fails infrequently - -Fails roughly 1 in 10 runs with errors: - - mdadm: /dev/loop2 is still in use, cannot remove. - /dev/loop2 removal from /dev/md/container should have succeeded diff --git a/tests/18imsm-1d-takeover-r0_1d b/tests/18imsm-1d-takeover-r0_1d index 6f5cf5a..203e240 100644 --- a/tests/18imsm-1d-takeover-r0_1d +++ b/tests/18imsm-1d-takeover-r0_1d @@ -7,12 +7,12 @@ vol0_num_comps=1 vol0_comp_size=$((10 * 1024)) # Create container -mdadm --create --run $container --auto=md --metadata=imsm --force --raid-disks=$vol0_num_comps $dev0 +mdadm --create --run $container --metadata=imsm --force --raid-disks=$vol0_num_comps $dev0 check wait imsm_check container $vol0_num_comps # Create RAID 0 volume -mdadm --create --run $member0 --auto=md --level=0 --size=$vol0_comp_size --chunk=64 --force --raid-disks=$vol0_num_comps $dev0 +mdadm --create --run $member0 --level=0 --size=$vol0_comp_size --chunk=64 --force --raid-disks=$vol0_num_comps $dev0 check wait # Test the member diff --git a/tests/func.sh b/tests/func.sh index e7ccc4f..567d91d 100644 --- a/tests/func.sh +++ b/tests/func.sh @@ -362,6 +362,10 @@ check() { do sleep 0.5 done + while ps auxf | grep "mdadm --grow --continue" | grep -v grep + do + sleep 1 + done echo $min > /proc/sys/dev/raid/speed_limit_min echo $max > /proc/sys/dev/raid/speed_limit_max ;; diff --git a/tests/imsm-grow-template b/tests/imsm-grow-template index 1a8676e..f69e025 100644 --- a/tests/imsm-grow-template +++ b/tests/imsm-grow-template @@ -37,24 +37,24 @@ function grow_member() { } # Create container -mdadm --create --run $container --auto=md --metadata=imsm --raid-disks=$num_disks $device_list +mdadm --create --run $container --metadata=imsm --raid-disks=$num_disks $device_list check wait imsm_check container $num_disks # Create first volume inside the container if [[ ! -z $vol0_chunk ]]; then - mdadm --create --run $member0 --auto=md --level=$vol0_level --size=$vol0_comp_size --chunk=$vol0_chunk --raid-disks=$num_disks $device_list + mdadm --create --run $member0 --level=$vol0_level --size=$vol0_comp_size --chunk=$vol0_chunk --raid-disks=$num_disks $device_list else - mdadm --create --run $member0 --auto=md --level=$vol0_level --size=$vol0_comp_size --raid-disks=$num_disks $device_list + mdadm --create --run $member0 --level=$vol0_level --size=$vol0_comp_size --raid-disks=$num_disks $device_list fi check wait # Create second volume inside the container (if defined) if [ ! -z $vol1_level ]; then if [ ! -z $vol1_chunk ]; then - mdadm --create --run $member1 --auto=md --level=$vol1_level --size=$vol1_comp_size --chunk=$vol1_chunk --raid-disks=$num_disks $device_list + mdadm --create --run $member1 --level=$vol1_level --size=$vol1_comp_size --chunk=$vol1_chunk --raid-disks=$num_disks $device_list else - mdadm --create --run $member1 --auto=md --level=$vol1_level --size=$vol1_comp_size --raid-disks=$num_disks $device_list + mdadm --create --run $member1 --level=$vol1_level --size=$vol1_comp_size --raid-disks=$num_disks $device_list fi check wait fi |