diff options
| author | Ovidiu Panait <ovidiu.panait@windriver.com> | 2023-07-04 10:39:18 +0300 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2023-08-01 06:17:28 -1000 |
| commit | 74d65cb990467345940ee949e7f0f038ec2e4850 (patch) | |
| tree | bcec9320e8bc034e712f8ef7c5703bb94ab39d14 | |
| parent | b7ab079b1ae8ce0fde87c32ea005ad763d5b0493 (diff) | |
| download | poky-74d65cb990467345940ee949e7f0f038ec2e4850.tar.gz | |
mdadm: skip running known broken ptests
Upstream marked some testcases as "KNOWN BROKEN" and introduced the
"--skip-broken" flag to ignore them when running the testsuite (commits [1]
and [2]). Backport these two commits to get rid of the last remaining ptest
failures.
Also, add the "--skip-broken" option to the run-ptest script.
[1] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=28520bf114b3
[2] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=daa86d663476
(From OE-Core rev: 153357be5c74393febaccbe37b0ff514401a52cd)
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 62148b978b26b5fcd1a2fa3a0ff82ef814f4e7ec)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
4 files changed, 585 insertions, 1 deletions
diff --git a/meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch b/meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch new file mode 100644 index 0000000000..c55bfb125b --- /dev/null +++ b/meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch | |||
| @@ -0,0 +1,128 @@ | |||
| 1 | From feab1f72fcf032a4d21d0a69eb61b23a5ddb3352 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Logan Gunthorpe <logang@deltatee.com> | ||
| 3 | Date: Wed, 22 Jun 2022 14:25:18 -0600 | ||
| 4 | Subject: [PATCH 5/6] mdadm/test: Mark and ignore broken test failures | ||
| 5 | |||
| 6 | Add functionality to continue if a test marked as broken fails. | ||
| 7 | |||
| 8 | To mark a test as broken, a file with the same name but with the suffix | ||
| 9 | '.broken' should exist. The first line in the file will be printed with | ||
| 10 | a KNOWN BROKEN message; the rest of the file can describe the how the | ||
| 11 | test is broken. | ||
| 12 | |||
| 13 | Also adds --skip-broken and --skip-always-broken to skip all the tests | ||
| 14 | that have a .broken file or to skip all tests whose .broken file's first | ||
| 15 | line contains the keyword always. | ||
| 16 | |||
| 17 | Signed-off-by: Logan Gunthorpe <logang@deltatee.com> | ||
| 18 | Signed-off-by: Jes Sorensen <jes@trained-monkey.org> | ||
| 19 | |||
| 20 | Upstream-Status: Backport | ||
| 21 | |||
| 22 | Reference to upstream patch: | ||
| 23 | https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=28520bf114b3 | ||
| 24 | |||
| 25 | [OP: adjusted context for mdadm-4.2] | ||
| 26 | Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> | ||
| 27 | --- | ||
| 28 | test | 37 +++++++++++++++++++++++++++++++++++-- | ||
| 29 | 1 file changed, 35 insertions(+), 2 deletions(-) | ||
| 30 | |||
| 31 | diff --git a/test b/test | ||
| 32 | index 8f189d9..ee8fba1 100755 | ||
| 33 | --- a/test | ||
| 34 | +++ b/test | ||
| 35 | @@ -10,6 +10,8 @@ devlist= | ||
| 36 | |||
| 37 | savelogs=0 | ||
| 38 | exitonerror=1 | ||
| 39 | +ctrl_c_error=0 | ||
| 40 | +skipbroken=0 | ||
| 41 | prefix='[0-9][0-9]' | ||
| 42 | |||
| 43 | # use loop devices by default if doesn't specify --dev | ||
| 44 | @@ -35,6 +37,7 @@ die() { | ||
| 45 | |||
| 46 | ctrl_c() { | ||
| 47 | exitonerror=1 | ||
| 48 | + ctrl_c_error=1 | ||
| 49 | } | ||
| 50 | |||
| 51 | # mdadm always adds --quiet, and we want to see any unexpected messages | ||
| 52 | @@ -79,8 +82,21 @@ mdadm() { | ||
| 53 | do_test() { | ||
| 54 | _script=$1 | ||
| 55 | _basename=`basename $_script` | ||
| 56 | + _broken=0 | ||
| 57 | + | ||
| 58 | if [ -f "$_script" ] | ||
| 59 | then | ||
| 60 | + if [ -f "${_script}.broken" ]; then | ||
| 61 | + _broken=1 | ||
| 62 | + _broken_msg=$(head -n1 "${_script}.broken" | tr -d '\n') | ||
| 63 | + if [ "$skipbroken" == "all" ]; then | ||
| 64 | + return | ||
| 65 | + elif [ "$skipbroken" == "always" ] && | ||
| 66 | + [[ "$_broken_msg" == *always* ]]; then | ||
| 67 | + return | ||
| 68 | + fi | ||
| 69 | + fi | ||
| 70 | + | ||
| 71 | rm -f $targetdir/stderr | ||
| 72 | # this might have been reset: restore the default. | ||
| 73 | echo 2000 > /proc/sys/dev/raid/speed_limit_max | ||
| 74 | @@ -97,10 +113,15 @@ do_test() { | ||
| 75 | else | ||
| 76 | save_log fail | ||
| 77 | _fail=1 | ||
| 78 | + if [ "$_broken" == "1" ]; then | ||
| 79 | + echo " (KNOWN BROKEN TEST: $_broken_msg)" | ||
| 80 | + fi | ||
| 81 | fi | ||
| 82 | [ "$savelogs" == "1" ] && | ||
| 83 | mv -f $targetdir/log $logdir/$_basename.log | ||
| 84 | - [ "$_fail" == "1" -a "$exitonerror" == "1" ] && exit 1 | ||
| 85 | + [ "$ctrl_c_error" == "1" ] && exit 1 | ||
| 86 | + [ "$_fail" == "1" -a "$exitonerror" == "1" \ | ||
| 87 | + -a "$_broken" == "0" ] && exit 1 | ||
| 88 | fi | ||
| 89 | } | ||
| 90 | |||
| 91 | @@ -117,6 +138,8 @@ do_help() { | ||
| 92 | --logdir=directory Directory to save all logfiles in | ||
| 93 | --save-logs Usually use with --logdir together | ||
| 94 | --keep-going | --no-error Don't stop on error, ie. run all tests | ||
| 95 | + --skip-broken Skip tests that are known to be broken | ||
| 96 | + --skip-always-broken Skip tests that are known to always fail | ||
| 97 | --dev=loop|lvm|ram|disk Use loop devices (default), LVM, RAM or disk | ||
| 98 | --disks= Provide a bunch of physical devices for test | ||
| 99 | --volgroup=name LVM volume group for LVM test | ||
| 100 | @@ -211,6 +234,12 @@ parse_args() { | ||
| 101 | --keep-going | --no-error ) | ||
| 102 | exitonerror=0 | ||
| 103 | ;; | ||
| 104 | + --skip-broken ) | ||
| 105 | + skipbroken=all | ||
| 106 | + ;; | ||
| 107 | + --skip-always-broken ) | ||
| 108 | + skipbroken=always | ||
| 109 | + ;; | ||
| 110 | --disable-multipath ) | ||
| 111 | unset MULTIPATH | ||
| 112 | ;; | ||
| 113 | @@ -275,7 +304,11 @@ main() { | ||
| 114 | if [ $script == "$testdir/11spare-migration" ];then | ||
| 115 | continue | ||
| 116 | fi | ||
| 117 | - do_test $script | ||
| 118 | + case $script in | ||
| 119 | + *.broken) ;; | ||
| 120 | + *) | ||
| 121 | + do_test $script | ||
| 122 | + esac | ||
| 123 | done | ||
| 124 | fi | ||
| 125 | |||
| 126 | -- | ||
| 127 | 2.39.1 | ||
| 128 | |||
diff --git a/meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch b/meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch new file mode 100644 index 0000000000..115b23bac5 --- /dev/null +++ b/meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch | |||
| @@ -0,0 +1,454 @@ | |||
| 1 | From fd1c26ba129b069d9f73afaefdbe53683de3814a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Logan Gunthorpe <logang@deltatee.com> | ||
| 3 | Date: Wed, 22 Jun 2022 14:25:19 -0600 | ||
| 4 | Subject: [PATCH 6/6] tests: Add broken files for all broken tests | ||
| 5 | |||
| 6 | Each broken file contains the rough frequency of brokeness as well | ||
| 7 | as a brief explanation of what happens when it breaks. Estimates | ||
| 8 | of failure rates are not statistically significant and can vary | ||
| 9 | run to run. | ||
| 10 | |||
| 11 | This is really just a view from my window. Tests were done on a | ||
| 12 | small VM with the default loop devices, not real hardware. We've | ||
| 13 | seen different kernel configurations can cause bugs to appear as well | ||
| 14 | (ie. different block schedulers). It may also be that different race | ||
| 15 | conditions will be seen on machines with different performance | ||
| 16 | characteristics. | ||
| 17 | |||
| 18 | These annotations were done with the kernel currently in md/md-next: | ||
| 19 | |||
| 20 | facef3b96c5b ("md: Notify sysfs sync_completed in md_reap_sync_thread()") | ||
| 21 | |||
| 22 | Signed-off-by: Logan Gunthorpe <logang@deltatee.com> | ||
| 23 | Signed-off-by: Jes Sorensen <jes@trained-monkey.org> | ||
| 24 | |||
| 25 | Upstream-Status: Backport | ||
| 26 | |||
| 27 | Reference to upstream patch: | ||
| 28 | https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=daa86d663476 | ||
| 29 | |||
| 30 | Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> | ||
| 31 | --- | ||
| 32 | tests/01r5integ.broken | 7 ++++ | ||
| 33 | tests/01raid6integ.broken | 7 ++++ | ||
| 34 | tests/04r5swap.broken | 7 ++++ | ||
| 35 | tests/07autoassemble.broken | 8 ++++ | ||
| 36 | tests/07autodetect.broken | 5 +++ | ||
| 37 | tests/07changelevelintr.broken | 9 +++++ | ||
| 38 | tests/07changelevels.broken | 9 +++++ | ||
| 39 | tests/07reshape5intr.broken | 45 ++++++++++++++++++++++ | ||
| 40 | tests/07revert-grow.broken | 31 +++++++++++++++ | ||
| 41 | tests/07revert-shrink.broken | 9 +++++ | ||
| 42 | tests/07testreshape5.broken | 12 ++++++ | ||
| 43 | tests/09imsm-assemble.broken | 6 +++ | ||
| 44 | tests/09imsm-create-fail-rebuild.broken | 5 +++ | ||
| 45 | tests/09imsm-overlap.broken | 7 ++++ | ||
| 46 | tests/10ddf-assemble-missing.broken | 6 +++ | ||
| 47 | tests/10ddf-fail-create-race.broken | 7 ++++ | ||
| 48 | tests/10ddf-fail-two-spares.broken | 5 +++ | ||
| 49 | tests/10ddf-incremental-wrong-order.broken | 9 +++++ | ||
| 50 | tests/14imsm-r1_2d-grow-r1_3d.broken | 5 +++ | ||
| 51 | tests/14imsm-r1_2d-takeover-r0_2d.broken | 6 +++ | ||
| 52 | tests/18imsm-r10_4d-takeover-r0_2d.broken | 5 +++ | ||
| 53 | tests/18imsm-r1_2d-takeover-r0_1d.broken | 6 +++ | ||
| 54 | tests/19raid6auto-repair.broken | 5 +++ | ||
| 55 | tests/19raid6repair.broken | 5 +++ | ||
| 56 | 24 files changed, 226 insertions(+) | ||
| 57 | create mode 100644 tests/01r5integ.broken | ||
| 58 | create mode 100644 tests/01raid6integ.broken | ||
| 59 | create mode 100644 tests/04r5swap.broken | ||
| 60 | create mode 100644 tests/07autoassemble.broken | ||
| 61 | create mode 100644 tests/07autodetect.broken | ||
| 62 | create mode 100644 tests/07changelevelintr.broken | ||
| 63 | create mode 100644 tests/07changelevels.broken | ||
| 64 | create mode 100644 tests/07reshape5intr.broken | ||
| 65 | create mode 100644 tests/07revert-grow.broken | ||
| 66 | create mode 100644 tests/07revert-shrink.broken | ||
| 67 | create mode 100644 tests/07testreshape5.broken | ||
| 68 | create mode 100644 tests/09imsm-assemble.broken | ||
| 69 | create mode 100644 tests/09imsm-create-fail-rebuild.broken | ||
| 70 | create mode 100644 tests/09imsm-overlap.broken | ||
| 71 | create mode 100644 tests/10ddf-assemble-missing.broken | ||
| 72 | create mode 100644 tests/10ddf-fail-create-race.broken | ||
| 73 | create mode 100644 tests/10ddf-fail-two-spares.broken | ||
| 74 | create mode 100644 tests/10ddf-incremental-wrong-order.broken | ||
| 75 | create mode 100644 tests/14imsm-r1_2d-grow-r1_3d.broken | ||
| 76 | create mode 100644 tests/14imsm-r1_2d-takeover-r0_2d.broken | ||
| 77 | create mode 100644 tests/18imsm-r10_4d-takeover-r0_2d.broken | ||
| 78 | create mode 100644 tests/18imsm-r1_2d-takeover-r0_1d.broken | ||
| 79 | create mode 100644 tests/19raid6auto-repair.broken | ||
| 80 | create mode 100644 tests/19raid6repair.broken | ||
| 81 | |||
| 82 | diff --git a/tests/01r5integ.broken b/tests/01r5integ.broken | ||
| 83 | new file mode 100644 | ||
| 84 | index 0000000..2073763 | ||
| 85 | --- /dev/null | ||
| 86 | +++ b/tests/01r5integ.broken | ||
| 87 | @@ -0,0 +1,7 @@ | ||
| 88 | +fails rarely | ||
| 89 | + | ||
| 90 | +Fails about 1 in every 30 runs with a sha mismatch error: | ||
| 91 | + | ||
| 92 | + c49ab26e1b01def7874af9b8a6d6d0c29fdfafe6 /dev/md0 does not match | ||
| 93 | + 15dc2f73262f811ada53c65e505ceec9cf025cb9 /dev/md0 with /dev/loop3 | ||
| 94 | + missing | ||
| 95 | diff --git a/tests/01raid6integ.broken b/tests/01raid6integ.broken | ||
| 96 | new file mode 100644 | ||
| 97 | index 0000000..1df735f | ||
| 98 | --- /dev/null | ||
| 99 | +++ b/tests/01raid6integ.broken | ||
| 100 | @@ -0,0 +1,7 @@ | ||
| 101 | +fails infrequently | ||
| 102 | + | ||
| 103 | +Fails about 1 in 5 with a sha mismatch: | ||
| 104 | + | ||
| 105 | + 8286c2bc045ae2cfe9f8b7ae3a898fa25db6926f /dev/md0 does not match | ||
| 106 | + a083a0738b58caab37fd568b91b177035ded37df /dev/md0 with /dev/loop2 and | ||
| 107 | + /dev/loop3 missing | ||
| 108 | diff --git a/tests/04r5swap.broken b/tests/04r5swap.broken | ||
| 109 | new file mode 100644 | ||
| 110 | index 0000000..e38987d | ||
| 111 | --- /dev/null | ||
| 112 | +++ b/tests/04r5swap.broken | ||
| 113 | @@ -0,0 +1,7 @@ | ||
| 114 | +always fails | ||
| 115 | + | ||
| 116 | +Fails with errors: | ||
| 117 | + | ||
| 118 | + mdadm: /dev/loop0 has no superblock - assembly aborted | ||
| 119 | + | ||
| 120 | + ERROR: no recovery happening | ||
| 121 | diff --git a/tests/07autoassemble.broken b/tests/07autoassemble.broken | ||
| 122 | new file mode 100644 | ||
| 123 | index 0000000..8be0940 | ||
| 124 | --- /dev/null | ||
| 125 | +++ b/tests/07autoassemble.broken | ||
| 126 | @@ -0,0 +1,8 @@ | ||
| 127 | +always fails | ||
| 128 | + | ||
| 129 | +Prints lots of messages, but the array doesn't assemble. Error | ||
| 130 | +possibly related to: | ||
| 131 | + | ||
| 132 | + mdadm: /dev/md/1 is busy - skipping | ||
| 133 | + mdadm: no recogniseable superblock on /dev/md/testing:0 | ||
| 134 | + mdadm: /dev/md/2 is busy - skipping | ||
| 135 | diff --git a/tests/07autodetect.broken b/tests/07autodetect.broken | ||
| 136 | new file mode 100644 | ||
| 137 | index 0000000..294954a | ||
| 138 | --- /dev/null | ||
| 139 | +++ b/tests/07autodetect.broken | ||
| 140 | @@ -0,0 +1,5 @@ | ||
| 141 | +always fails | ||
| 142 | + | ||
| 143 | +Fails with error: | ||
| 144 | + | ||
| 145 | + ERROR: no resync happening | ||
| 146 | diff --git a/tests/07changelevelintr.broken b/tests/07changelevelintr.broken | ||
| 147 | new file mode 100644 | ||
| 148 | index 0000000..284b490 | ||
| 149 | --- /dev/null | ||
| 150 | +++ b/tests/07changelevelintr.broken | ||
| 151 | @@ -0,0 +1,9 @@ | ||
| 152 | +always fails | ||
| 153 | + | ||
| 154 | +Fails with errors: | ||
| 155 | + | ||
| 156 | + mdadm: this change will reduce the size of the array. | ||
| 157 | + use --grow --array-size first to truncate array. | ||
| 158 | + e.g. mdadm --grow /dev/md0 --array-size 56832 | ||
| 159 | + | ||
| 160 | + ERROR: no reshape happening | ||
| 161 | diff --git a/tests/07changelevels.broken b/tests/07changelevels.broken | ||
| 162 | new file mode 100644 | ||
| 163 | index 0000000..9b930d9 | ||
| 164 | --- /dev/null | ||
| 165 | +++ b/tests/07changelevels.broken | ||
| 166 | @@ -0,0 +1,9 @@ | ||
| 167 | +always fails | ||
| 168 | + | ||
| 169 | +Fails with errors: | ||
| 170 | + | ||
| 171 | + mdadm: /dev/loop0 is smaller than given size. 18976K < 19968K + metadata | ||
| 172 | + mdadm: /dev/loop1 is smaller than given size. 18976K < 19968K + metadata | ||
| 173 | + mdadm: /dev/loop2 is smaller than given size. 18976K < 19968K + metadata | ||
| 174 | + | ||
| 175 | + ERROR: /dev/md0 isn't a block device. | ||
| 176 | diff --git a/tests/07reshape5intr.broken b/tests/07reshape5intr.broken | ||
| 177 | new file mode 100644 | ||
| 178 | index 0000000..efe52a6 | ||
| 179 | --- /dev/null | ||
| 180 | +++ b/tests/07reshape5intr.broken | ||
| 181 | @@ -0,0 +1,45 @@ | ||
| 182 | +always fails | ||
| 183 | + | ||
| 184 | +This patch, recently added to md-next causes the test to always fail: | ||
| 185 | + | ||
| 186 | +7e6ba434cc60 ("md: don't unregister sync_thread with reconfig_mutex | ||
| 187 | +held") | ||
| 188 | + | ||
| 189 | +The new error is simply: | ||
| 190 | + | ||
| 191 | + ERROR: no reshape happening | ||
| 192 | + | ||
| 193 | +Before the patch, the error seen is below. | ||
| 194 | + | ||
| 195 | +-- | ||
| 196 | + | ||
| 197 | +fails infrequently | ||
| 198 | + | ||
| 199 | +Fails roughly 1 in 4 runs with errors: | ||
| 200 | + | ||
| 201 | + mdadm: Merging with already-assembled /dev/md/0 | ||
| 202 | + mdadm: cannot re-read metadata from /dev/loop6 - aborting | ||
| 203 | + | ||
| 204 | + ERROR: no reshape happening | ||
| 205 | + | ||
| 206 | +Also have seen a random deadlock: | ||
| 207 | + | ||
| 208 | + INFO: task mdadm:109702 blocked for more than 30 seconds. | ||
| 209 | + Not tainted 5.18.0-rc3-eid-vmlocalyes-dbg-00095-g3c2b5427979d #2040 | ||
| 210 | + "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. | ||
| 211 | + task:mdadm state:D stack: 0 pid:109702 ppid: 1 flags:0x00004000 | ||
| 212 | + Call Trace: | ||
| 213 | + <TASK> | ||
| 214 | + __schedule+0x67e/0x13b0 | ||
| 215 | + schedule+0x82/0x110 | ||
| 216 | + mddev_suspend+0x2e1/0x330 | ||
| 217 | + suspend_lo_store+0xbd/0x140 | ||
| 218 | + md_attr_store+0xcb/0x130 | ||
| 219 | + sysfs_kf_write+0x89/0xb0 | ||
| 220 | + kernfs_fop_write_iter+0x202/0x2c0 | ||
| 221 | + new_sync_write+0x222/0x330 | ||
| 222 | + vfs_write+0x3bc/0x4d0 | ||
| 223 | + ksys_write+0xd9/0x180 | ||
| 224 | + __x64_sys_write+0x43/0x50 | ||
| 225 | + do_syscall_64+0x3b/0x90 | ||
| 226 | + entry_SYSCALL_64_after_hwframe+0x44/0xae | ||
| 227 | diff --git a/tests/07revert-grow.broken b/tests/07revert-grow.broken | ||
| 228 | new file mode 100644 | ||
| 229 | index 0000000..9b6db86 | ||
| 230 | --- /dev/null | ||
| 231 | +++ b/tests/07revert-grow.broken | ||
| 232 | @@ -0,0 +1,31 @@ | ||
| 233 | +always fails | ||
| 234 | + | ||
| 235 | +This patch, recently added to md-next causes the test to always fail: | ||
| 236 | + | ||
| 237 | +7e6ba434cc60 ("md: don't unregister sync_thread with reconfig_mutex held") | ||
| 238 | + | ||
| 239 | +The errors are: | ||
| 240 | + | ||
| 241 | + mdadm: No active reshape to revert on /dev/loop0 | ||
| 242 | + ERROR: active raid5 not found | ||
| 243 | + | ||
| 244 | +Before the patch, the error seen is below. | ||
| 245 | + | ||
| 246 | +-- | ||
| 247 | + | ||
| 248 | +fails rarely | ||
| 249 | + | ||
| 250 | +Fails about 1 in every 30 runs with errors: | ||
| 251 | + | ||
| 252 | + mdadm: Merging with already-assembled /dev/md/0 | ||
| 253 | + mdadm: backup file /tmp/md-backup inaccessible: No such file or directory | ||
| 254 | + mdadm: failed to add /dev/loop1 to /dev/md/0: Invalid argument | ||
| 255 | + mdadm: failed to add /dev/loop2 to /dev/md/0: Invalid argument | ||
| 256 | + mdadm: failed to add /dev/loop3 to /dev/md/0: Invalid argument | ||
| 257 | + mdadm: failed to add /dev/loop0 to /dev/md/0: Invalid argument | ||
| 258 | + mdadm: /dev/md/0 assembled from 1 drive - need all 5 to start it | ||
| 259 | + (use --run to insist). | ||
| 260 | + | ||
| 261 | + grep: /sys/block/md*/md/sync_action: No such file or directory | ||
| 262 | + | ||
| 263 | + ERROR: active raid5 not found | ||
| 264 | diff --git a/tests/07revert-shrink.broken b/tests/07revert-shrink.broken | ||
| 265 | new file mode 100644 | ||
| 266 | index 0000000..c33c39e | ||
| 267 | --- /dev/null | ||
| 268 | +++ b/tests/07revert-shrink.broken | ||
| 269 | @@ -0,0 +1,9 @@ | ||
| 270 | +always fails | ||
| 271 | + | ||
| 272 | +Fails with errors: | ||
| 273 | + | ||
| 274 | + mdadm: this change will reduce the size of the array. | ||
| 275 | + use --grow --array-size first to truncate array. | ||
| 276 | + e.g. mdadm --grow /dev/md0 --array-size 53760 | ||
| 277 | + | ||
| 278 | + ERROR: active raid5 not found | ||
| 279 | diff --git a/tests/07testreshape5.broken b/tests/07testreshape5.broken | ||
| 280 | new file mode 100644 | ||
| 281 | index 0000000..a8ce03e | ||
| 282 | --- /dev/null | ||
| 283 | +++ b/tests/07testreshape5.broken | ||
| 284 | @@ -0,0 +1,12 @@ | ||
| 285 | +always fails | ||
| 286 | + | ||
| 287 | +Test seems to run 'test_stripe' at $dir directory, but $dir is never | ||
| 288 | +set. If $dir is adjusted to $PWD, the test still fails with: | ||
| 289 | + | ||
| 290 | + mdadm: /dev/loop2 is not suitable for this array. | ||
| 291 | + mdadm: create aborted | ||
| 292 | + ++ return 1 | ||
| 293 | + ++ cmp -s -n 8192 /dev/md0 /tmp/RandFile | ||
| 294 | + ++ echo cmp failed | ||
| 295 | + cmp failed | ||
| 296 | + ++ exit 2 | ||
| 297 | diff --git a/tests/09imsm-assemble.broken b/tests/09imsm-assemble.broken | ||
| 298 | new file mode 100644 | ||
| 299 | index 0000000..a6d4d5c | ||
| 300 | --- /dev/null | ||
| 301 | +++ b/tests/09imsm-assemble.broken | ||
| 302 | @@ -0,0 +1,6 @@ | ||
| 303 | +fails infrequently | ||
| 304 | + | ||
| 305 | +Fails roughly 1 in 10 runs with errors: | ||
| 306 | + | ||
| 307 | + mdadm: /dev/loop2 is still in use, cannot remove. | ||
| 308 | + /dev/loop2 removal from /dev/md/container should have succeeded | ||
| 309 | diff --git a/tests/09imsm-create-fail-rebuild.broken b/tests/09imsm-create-fail-rebuild.broken | ||
| 310 | new file mode 100644 | ||
| 311 | index 0000000..40c4b29 | ||
| 312 | --- /dev/null | ||
| 313 | +++ b/tests/09imsm-create-fail-rebuild.broken | ||
| 314 | @@ -0,0 +1,5 @@ | ||
| 315 | +always fails | ||
| 316 | + | ||
| 317 | +Fails with error: | ||
| 318 | + | ||
| 319 | + **Error**: Array size mismatch - expected 3072, actual 16384 | ||
| 320 | diff --git a/tests/09imsm-overlap.broken b/tests/09imsm-overlap.broken | ||
| 321 | new file mode 100644 | ||
| 322 | index 0000000..e7ccab7 | ||
| 323 | --- /dev/null | ||
| 324 | +++ b/tests/09imsm-overlap.broken | ||
| 325 | @@ -0,0 +1,7 @@ | ||
| 326 | +always fails | ||
| 327 | + | ||
| 328 | +Fails with errors: | ||
| 329 | + | ||
| 330 | + **Error**: Offset mismatch - expected 15360, actual 0 | ||
| 331 | + **Error**: Offset mismatch - expected 15360, actual 0 | ||
| 332 | + /dev/md/vol3 failed check | ||
| 333 | diff --git a/tests/10ddf-assemble-missing.broken b/tests/10ddf-assemble-missing.broken | ||
| 334 | new file mode 100644 | ||
| 335 | index 0000000..bfd8d10 | ||
| 336 | --- /dev/null | ||
| 337 | +++ b/tests/10ddf-assemble-missing.broken | ||
| 338 | @@ -0,0 +1,6 @@ | ||
| 339 | +always fails | ||
| 340 | + | ||
| 341 | +Fails with errors: | ||
| 342 | + | ||
| 343 | + ERROR: /dev/md/vol0 has unexpected state on /dev/loop10 | ||
| 344 | + ERROR: unexpected number of online disks on /dev/loop10 | ||
| 345 | diff --git a/tests/10ddf-fail-create-race.broken b/tests/10ddf-fail-create-race.broken | ||
| 346 | new file mode 100644 | ||
| 347 | index 0000000..6c0df02 | ||
| 348 | --- /dev/null | ||
| 349 | +++ b/tests/10ddf-fail-create-race.broken | ||
| 350 | @@ -0,0 +1,7 @@ | ||
| 351 | +usually fails | ||
| 352 | + | ||
| 353 | +Fails about 9 out of 10 times with many errors: | ||
| 354 | + | ||
| 355 | + mdadm: cannot open MISSING: No such file or directory | ||
| 356 | + ERROR: non-degraded array found | ||
| 357 | + ERROR: disk 0 not marked as failed in meta data | ||
| 358 | diff --git a/tests/10ddf-fail-two-spares.broken b/tests/10ddf-fail-two-spares.broken | ||
| 359 | new file mode 100644 | ||
| 360 | index 0000000..eeea56d | ||
| 361 | --- /dev/null | ||
| 362 | +++ b/tests/10ddf-fail-two-spares.broken | ||
| 363 | @@ -0,0 +1,5 @@ | ||
| 364 | +fails infrequently | ||
| 365 | + | ||
| 366 | +Fails roughly 1 in 3 with error: | ||
| 367 | + | ||
| 368 | + ERROR: /dev/md/vol1 should be optimal in meta data | ||
| 369 | diff --git a/tests/10ddf-incremental-wrong-order.broken b/tests/10ddf-incremental-wrong-order.broken | ||
| 370 | new file mode 100644 | ||
| 371 | index 0000000..a5af3ba | ||
| 372 | --- /dev/null | ||
| 373 | +++ b/tests/10ddf-incremental-wrong-order.broken | ||
| 374 | @@ -0,0 +1,9 @@ | ||
| 375 | +always fails | ||
| 376 | + | ||
| 377 | +Fails with errors: | ||
| 378 | + ERROR: sha1sum of /dev/md/vol0 has changed | ||
| 379 | + ERROR: /dev/md/vol0 has unexpected state on /dev/loop10 | ||
| 380 | + ERROR: unexpected number of online disks on /dev/loop10 | ||
| 381 | + ERROR: /dev/md/vol0 has unexpected state on /dev/loop8 | ||
| 382 | + ERROR: unexpected number of online disks on /dev/loop8 | ||
| 383 | + ERROR: sha1sum of /dev/md/vol0 has changed | ||
| 384 | diff --git a/tests/14imsm-r1_2d-grow-r1_3d.broken b/tests/14imsm-r1_2d-grow-r1_3d.broken | ||
| 385 | new file mode 100644 | ||
| 386 | index 0000000..4ef1d40 | ||
| 387 | --- /dev/null | ||
| 388 | +++ b/tests/14imsm-r1_2d-grow-r1_3d.broken | ||
| 389 | @@ -0,0 +1,5 @@ | ||
| 390 | +always fails | ||
| 391 | + | ||
| 392 | +Fails with error: | ||
| 393 | + | ||
| 394 | + mdadm/tests/func.sh: line 325: dvsize/chunk: division by 0 (error token is "chunk") | ||
| 395 | diff --git a/tests/14imsm-r1_2d-takeover-r0_2d.broken b/tests/14imsm-r1_2d-takeover-r0_2d.broken | ||
| 396 | new file mode 100644 | ||
| 397 | index 0000000..89cd4e5 | ||
| 398 | --- /dev/null | ||
| 399 | +++ b/tests/14imsm-r1_2d-takeover-r0_2d.broken | ||
| 400 | @@ -0,0 +1,6 @@ | ||
| 401 | +always fails | ||
| 402 | + | ||
| 403 | +Fails with error: | ||
| 404 | + | ||
| 405 | + tests/func.sh: line 325: dvsize/chunk: division by 0 (error token | ||
| 406 | + is "chunk") | ||
| 407 | diff --git a/tests/18imsm-r10_4d-takeover-r0_2d.broken b/tests/18imsm-r10_4d-takeover-r0_2d.broken | ||
| 408 | new file mode 100644 | ||
| 409 | index 0000000..a27399f | ||
| 410 | --- /dev/null | ||
| 411 | +++ b/tests/18imsm-r10_4d-takeover-r0_2d.broken | ||
| 412 | @@ -0,0 +1,5 @@ | ||
| 413 | +fails rarely | ||
| 414 | + | ||
| 415 | +Fails about 1 run in 100 with message: | ||
| 416 | + | ||
| 417 | + ERROR: size is wrong for /dev/md/vol0: 2 * 5120 (chunk=128) = 20480, not 0 | ||
| 418 | diff --git a/tests/18imsm-r1_2d-takeover-r0_1d.broken b/tests/18imsm-r1_2d-takeover-r0_1d.broken | ||
| 419 | new file mode 100644 | ||
| 420 | index 0000000..aa1982e | ||
| 421 | --- /dev/null | ||
| 422 | +++ b/tests/18imsm-r1_2d-takeover-r0_1d.broken | ||
| 423 | @@ -0,0 +1,6 @@ | ||
| 424 | +always fails | ||
| 425 | + | ||
| 426 | +Fails with error: | ||
| 427 | + | ||
| 428 | + tests/func.sh: line 325: dvsize/chunk: division by 0 (error token | ||
| 429 | + is "chunk") | ||
| 430 | diff --git a/tests/19raid6auto-repair.broken b/tests/19raid6auto-repair.broken | ||
| 431 | new file mode 100644 | ||
| 432 | index 0000000..e91a142 | ||
| 433 | --- /dev/null | ||
| 434 | +++ b/tests/19raid6auto-repair.broken | ||
| 435 | @@ -0,0 +1,5 @@ | ||
| 436 | +always fails | ||
| 437 | + | ||
| 438 | +Fails with: | ||
| 439 | + | ||
| 440 | + "should detect errors" | ||
| 441 | diff --git a/tests/19raid6repair.broken b/tests/19raid6repair.broken | ||
| 442 | new file mode 100644 | ||
| 443 | index 0000000..e91a142 | ||
| 444 | --- /dev/null | ||
| 445 | +++ b/tests/19raid6repair.broken | ||
| 446 | @@ -0,0 +1,5 @@ | ||
| 447 | +always fails | ||
| 448 | + | ||
| 449 | +Fails with: | ||
| 450 | + | ||
| 451 | + "should detect errors" | ||
| 452 | -- | ||
| 453 | 2.39.1 | ||
| 454 | |||
diff --git a/meta/recipes-extended/mdadm/files/run-ptest b/meta/recipes-extended/mdadm/files/run-ptest index fae8071d43..2380c322a9 100644 --- a/meta/recipes-extended/mdadm/files/run-ptest +++ b/meta/recipes-extended/mdadm/files/run-ptest | |||
| @@ -2,6 +2,6 @@ | |||
| 2 | 2 | ||
| 3 | mkdir -p /mdadm-testing-dir | 3 | mkdir -p /mdadm-testing-dir |
| 4 | # make the test continue to execute even one fail | 4 | # make the test continue to execute even one fail |
| 5 | dir=. ./test --keep-going --disable-integrity | 5 | dir=. ./test --keep-going --disable-integrity --skip-broken |
| 6 | 6 | ||
| 7 | rm -rf /mdadm-testing-dir/* | 7 | rm -rf /mdadm-testing-dir/* |
diff --git a/meta/recipes-extended/mdadm/mdadm_4.2.bb b/meta/recipes-extended/mdadm/mdadm_4.2.bb index f616746368..50d9548747 100644 --- a/meta/recipes-extended/mdadm/mdadm_4.2.bb +++ b/meta/recipes-extended/mdadm/mdadm_4.2.bb | |||
| @@ -36,6 +36,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ | |||
| 36 | file://0002-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch \ | 36 | file://0002-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch \ |
| 37 | file://0003-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch \ | 37 | file://0003-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch \ |
| 38 | file://0004-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch \ | 38 | file://0004-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch \ |
| 39 | file://0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch \ | ||
| 40 | file://0006-tests-Add-broken-files-for-all-broken-tests.patch \ | ||
| 39 | " | 41 | " |
| 40 | 42 | ||
| 41 | SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d" | 43 | SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d" |
