summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOvidiu Panait <ovidiu.panait@windriver.com>2023-07-04 10:39:18 +0300
committerSteve Sakoman <steve@sakoman.com>2023-08-01 06:17:28 -1000
commit74d65cb990467345940ee949e7f0f038ec2e4850 (patch)
treebcec9320e8bc034e712f8ef7c5703bb94ab39d14
parentb7ab079b1ae8ce0fde87c32ea005ad763d5b0493 (diff)
downloadpoky-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>
-rw-r--r--meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch128
-rw-r--r--meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch454
-rw-r--r--meta/recipes-extended/mdadm/files/run-ptest2
-rw-r--r--meta/recipes-extended/mdadm/mdadm_4.2.bb2
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 @@
1From feab1f72fcf032a4d21d0a69eb61b23a5ddb3352 Mon Sep 17 00:00:00 2001
2From: Logan Gunthorpe <logang@deltatee.com>
3Date: Wed, 22 Jun 2022 14:25:18 -0600
4Subject: [PATCH 5/6] mdadm/test: Mark and ignore broken test failures
5
6Add functionality to continue if a test marked as broken fails.
7
8To 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
10a KNOWN BROKEN message; the rest of the file can describe the how the
11test is broken.
12
13Also adds --skip-broken and --skip-always-broken to skip all the tests
14that have a .broken file or to skip all tests whose .broken file's first
15line contains the keyword always.
16
17Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
18Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
19
20Upstream-Status: Backport
21
22Reference to upstream patch:
23https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=28520bf114b3
24
25[OP: adjusted context for mdadm-4.2]
26Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
27---
28 test | 37 +++++++++++++++++++++++++++++++++++--
29 1 file changed, 35 insertions(+), 2 deletions(-)
30
31diff --git a/test b/test
32index 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--
1272.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 @@
1From fd1c26ba129b069d9f73afaefdbe53683de3814a Mon Sep 17 00:00:00 2001
2From: Logan Gunthorpe <logang@deltatee.com>
3Date: Wed, 22 Jun 2022 14:25:19 -0600
4Subject: [PATCH 6/6] tests: Add broken files for all broken tests
5
6Each broken file contains the rough frequency of brokeness as well
7as a brief explanation of what happens when it breaks. Estimates
8of failure rates are not statistically significant and can vary
9run to run.
10
11This is really just a view from my window. Tests were done on a
12small VM with the default loop devices, not real hardware. We've
13seen different kernel configurations can cause bugs to appear as well
14(ie. different block schedulers). It may also be that different race
15conditions will be seen on machines with different performance
16characteristics.
17
18These 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
22Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
23Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
24
25Upstream-Status: Backport
26
27Reference to upstream patch:
28https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=daa86d663476
29
30Signed-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
82diff --git a/tests/01r5integ.broken b/tests/01r5integ.broken
83new file mode 100644
84index 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
95diff --git a/tests/01raid6integ.broken b/tests/01raid6integ.broken
96new file mode 100644
97index 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
108diff --git a/tests/04r5swap.broken b/tests/04r5swap.broken
109new file mode 100644
110index 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
121diff --git a/tests/07autoassemble.broken b/tests/07autoassemble.broken
122new file mode 100644
123index 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
135diff --git a/tests/07autodetect.broken b/tests/07autodetect.broken
136new file mode 100644
137index 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
146diff --git a/tests/07changelevelintr.broken b/tests/07changelevelintr.broken
147new file mode 100644
148index 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
161diff --git a/tests/07changelevels.broken b/tests/07changelevels.broken
162new file mode 100644
163index 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.
176diff --git a/tests/07reshape5intr.broken b/tests/07reshape5intr.broken
177new file mode 100644
178index 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
227diff --git a/tests/07revert-grow.broken b/tests/07revert-grow.broken
228new file mode 100644
229index 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
264diff --git a/tests/07revert-shrink.broken b/tests/07revert-shrink.broken
265new file mode 100644
266index 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
279diff --git a/tests/07testreshape5.broken b/tests/07testreshape5.broken
280new file mode 100644
281index 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
297diff --git a/tests/09imsm-assemble.broken b/tests/09imsm-assemble.broken
298new file mode 100644
299index 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
309diff --git a/tests/09imsm-create-fail-rebuild.broken b/tests/09imsm-create-fail-rebuild.broken
310new file mode 100644
311index 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
320diff --git a/tests/09imsm-overlap.broken b/tests/09imsm-overlap.broken
321new file mode 100644
322index 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
333diff --git a/tests/10ddf-assemble-missing.broken b/tests/10ddf-assemble-missing.broken
334new file mode 100644
335index 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
345diff --git a/tests/10ddf-fail-create-race.broken b/tests/10ddf-fail-create-race.broken
346new file mode 100644
347index 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
358diff --git a/tests/10ddf-fail-two-spares.broken b/tests/10ddf-fail-two-spares.broken
359new file mode 100644
360index 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
369diff --git a/tests/10ddf-incremental-wrong-order.broken b/tests/10ddf-incremental-wrong-order.broken
370new file mode 100644
371index 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
384diff --git a/tests/14imsm-r1_2d-grow-r1_3d.broken b/tests/14imsm-r1_2d-grow-r1_3d.broken
385new file mode 100644
386index 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")
395diff --git a/tests/14imsm-r1_2d-takeover-r0_2d.broken b/tests/14imsm-r1_2d-takeover-r0_2d.broken
396new file mode 100644
397index 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")
407diff --git a/tests/18imsm-r10_4d-takeover-r0_2d.broken b/tests/18imsm-r10_4d-takeover-r0_2d.broken
408new file mode 100644
409index 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
418diff --git a/tests/18imsm-r1_2d-takeover-r0_1d.broken b/tests/18imsm-r1_2d-takeover-r0_1d.broken
419new file mode 100644
420index 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")
430diff --git a/tests/19raid6auto-repair.broken b/tests/19raid6auto-repair.broken
431new file mode 100644
432index 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"
441diff --git a/tests/19raid6repair.broken b/tests/19raid6repair.broken
442new file mode 100644
443index 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--
4532.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
3mkdir -p /mdadm-testing-dir 3mkdir -p /mdadm-testing-dir
4# make the test continue to execute even one fail 4# make the test continue to execute even one fail
5dir=. ./test --keep-going --disable-integrity 5dir=. ./test --keep-going --disable-integrity --skip-broken
6 6
7rm -rf /mdadm-testing-dir/* 7rm -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
41SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d" 43SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d"