Blame SOURCES/0044-tests-Add-broken-files-for-all-broken-tests.patch

c0f891
From daa86d6634761796ada1f535c13e47fdd3cc95eb Mon Sep 17 00:00:00 2001
c0f891
From: Logan Gunthorpe <logang@deltatee.com>
c0f891
Date: Wed, 22 Jun 2022 14:25:19 -0600
37f2b0
Subject: [PATCH 44/83] tests: Add broken files for all broken tests
c0f891
c0f891
Each broken file contains the rough frequency of brokeness as well
c0f891
as a brief explanation of what happens when it breaks. Estimates
c0f891
of failure rates are not statistically significant and can vary
c0f891
run to run.
c0f891
c0f891
This is really just a view from my window. Tests were done on a
c0f891
small VM with the default loop devices, not real hardware. We've
c0f891
seen different kernel configurations can cause bugs to appear as well
c0f891
(ie. different block schedulers). It may also be that different race
c0f891
conditions will be seen on machines with different performance
c0f891
characteristics.
c0f891
c0f891
These annotations were done with the kernel currently in md/md-next:
c0f891
c0f891
 facef3b96c5b ("md: Notify sysfs sync_completed in md_reap_sync_thread()")
c0f891
c0f891
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
c0f891
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
c0f891
---
c0f891
 tests/01r5integ.broken                     |  7 ++++
c0f891
 tests/01raid6integ.broken                  |  7 ++++
c0f891
 tests/04r5swap.broken                      |  7 ++++
c0f891
 tests/07autoassemble.broken                |  8 ++++
c0f891
 tests/07autodetect.broken                  |  5 +++
c0f891
 tests/07changelevelintr.broken             |  9 +++++
c0f891
 tests/07changelevels.broken                |  9 +++++
c0f891
 tests/07reshape5intr.broken                | 45 ++++++++++++++++++++++
c0f891
 tests/07revert-grow.broken                 | 31 +++++++++++++++
c0f891
 tests/07revert-shrink.broken               |  9 +++++
c0f891
 tests/07testreshape5.broken                | 12 ++++++
c0f891
 tests/09imsm-assemble.broken               |  6 +++
c0f891
 tests/09imsm-create-fail-rebuild.broken    |  5 +++
c0f891
 tests/09imsm-overlap.broken                |  7 ++++
c0f891
 tests/10ddf-assemble-missing.broken        |  6 +++
c0f891
 tests/10ddf-fail-create-race.broken        |  7 ++++
c0f891
 tests/10ddf-fail-two-spares.broken         |  5 +++
c0f891
 tests/10ddf-incremental-wrong-order.broken |  9 +++++
c0f891
 tests/14imsm-r1_2d-grow-r1_3d.broken       |  5 +++
c0f891
 tests/14imsm-r1_2d-takeover-r0_2d.broken   |  6 +++
c0f891
 tests/18imsm-r10_4d-takeover-r0_2d.broken  |  5 +++
c0f891
 tests/18imsm-r1_2d-takeover-r0_1d.broken   |  6 +++
c0f891
 tests/19raid6auto-repair.broken            |  5 +++
c0f891
 tests/19raid6repair.broken                 |  5 +++
c0f891
 24 files changed, 226 insertions(+)
c0f891
 create mode 100644 tests/01r5integ.broken
c0f891
 create mode 100644 tests/01raid6integ.broken
c0f891
 create mode 100644 tests/04r5swap.broken
c0f891
 create mode 100644 tests/07autoassemble.broken
c0f891
 create mode 100644 tests/07autodetect.broken
c0f891
 create mode 100644 tests/07changelevelintr.broken
c0f891
 create mode 100644 tests/07changelevels.broken
c0f891
 create mode 100644 tests/07reshape5intr.broken
c0f891
 create mode 100644 tests/07revert-grow.broken
c0f891
 create mode 100644 tests/07revert-shrink.broken
c0f891
 create mode 100644 tests/07testreshape5.broken
c0f891
 create mode 100644 tests/09imsm-assemble.broken
c0f891
 create mode 100644 tests/09imsm-create-fail-rebuild.broken
c0f891
 create mode 100644 tests/09imsm-overlap.broken
c0f891
 create mode 100644 tests/10ddf-assemble-missing.broken
c0f891
 create mode 100644 tests/10ddf-fail-create-race.broken
c0f891
 create mode 100644 tests/10ddf-fail-two-spares.broken
c0f891
 create mode 100644 tests/10ddf-incremental-wrong-order.broken
c0f891
 create mode 100644 tests/14imsm-r1_2d-grow-r1_3d.broken
c0f891
 create mode 100644 tests/14imsm-r1_2d-takeover-r0_2d.broken
c0f891
 create mode 100644 tests/18imsm-r10_4d-takeover-r0_2d.broken
c0f891
 create mode 100644 tests/18imsm-r1_2d-takeover-r0_1d.broken
c0f891
 create mode 100644 tests/19raid6auto-repair.broken
c0f891
 create mode 100644 tests/19raid6repair.broken
c0f891
c0f891
diff --git a/tests/01r5integ.broken b/tests/01r5integ.broken
c0f891
new file mode 100644
c0f891
index 00000000..20737637
c0f891
--- /dev/null
c0f891
+++ b/tests/01r5integ.broken
c0f891
@@ -0,0 +1,7 @@
c0f891
+fails rarely
c0f891
+
c0f891
+Fails about 1 in every 30 runs with a sha mismatch error:
c0f891
+
c0f891
+    c49ab26e1b01def7874af9b8a6d6d0c29fdfafe6 /dev/md0 does not match
c0f891
+    15dc2f73262f811ada53c65e505ceec9cf025cb9 /dev/md0 with /dev/loop3
c0f891
+    missing
c0f891
diff --git a/tests/01raid6integ.broken b/tests/01raid6integ.broken
c0f891
new file mode 100644
c0f891
index 00000000..1df735f0
c0f891
--- /dev/null
c0f891
+++ b/tests/01raid6integ.broken
c0f891
@@ -0,0 +1,7 @@
c0f891
+fails infrequently
c0f891
+
c0f891
+Fails about 1 in 5 with a sha mismatch:
c0f891
+
c0f891
+    8286c2bc045ae2cfe9f8b7ae3a898fa25db6926f /dev/md0 does not match
c0f891
+    a083a0738b58caab37fd568b91b177035ded37df /dev/md0 with /dev/loop2 and
c0f891
+    /dev/loop3 missing
c0f891
diff --git a/tests/04r5swap.broken b/tests/04r5swap.broken
c0f891
new file mode 100644
c0f891
index 00000000..e38987db
c0f891
--- /dev/null
c0f891
+++ b/tests/04r5swap.broken
c0f891
@@ -0,0 +1,7 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with errors:
c0f891
+
c0f891
+  mdadm: /dev/loop0 has no superblock - assembly aborted
c0f891
+
c0f891
+   ERROR: no recovery happening
c0f891
diff --git a/tests/07autoassemble.broken b/tests/07autoassemble.broken
c0f891
new file mode 100644
c0f891
index 00000000..8be09407
c0f891
--- /dev/null
c0f891
+++ b/tests/07autoassemble.broken
c0f891
@@ -0,0 +1,8 @@
c0f891
+always fails
c0f891
+
c0f891
+Prints lots of messages, but the array doesn't assemble. Error
c0f891
+possibly related to:
c0f891
+
c0f891
+  mdadm: /dev/md/1 is busy - skipping
c0f891
+  mdadm: no recogniseable superblock on /dev/md/testing:0
c0f891
+  mdadm: /dev/md/2 is busy - skipping
c0f891
diff --git a/tests/07autodetect.broken b/tests/07autodetect.broken
c0f891
new file mode 100644
c0f891
index 00000000..294954a1
c0f891
--- /dev/null
c0f891
+++ b/tests/07autodetect.broken
c0f891
@@ -0,0 +1,5 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with error:
c0f891
+
c0f891
+    ERROR: no resync happening
c0f891
diff --git a/tests/07changelevelintr.broken b/tests/07changelevelintr.broken
c0f891
new file mode 100644
c0f891
index 00000000..284b4906
c0f891
--- /dev/null
c0f891
+++ b/tests/07changelevelintr.broken
c0f891
@@ -0,0 +1,9 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with errors:
c0f891
+
c0f891
+  mdadm: this change will reduce the size of the array.
c0f891
+         use --grow --array-size first to truncate array.
c0f891
+         e.g. mdadm --grow /dev/md0 --array-size 56832
c0f891
+
c0f891
+  ERROR: no reshape happening
c0f891
diff --git a/tests/07changelevels.broken b/tests/07changelevels.broken
c0f891
new file mode 100644
c0f891
index 00000000..9b930d93
c0f891
--- /dev/null
c0f891
+++ b/tests/07changelevels.broken
c0f891
@@ -0,0 +1,9 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with errors:
c0f891
+
c0f891
+    mdadm: /dev/loop0 is smaller than given size. 18976K < 19968K + metadata
c0f891
+    mdadm: /dev/loop1 is smaller than given size. 18976K < 19968K + metadata
c0f891
+    mdadm: /dev/loop2 is smaller than given size. 18976K < 19968K + metadata
c0f891
+
c0f891
+    ERROR: /dev/md0 isn't a block device.
c0f891
diff --git a/tests/07reshape5intr.broken b/tests/07reshape5intr.broken
c0f891
new file mode 100644
c0f891
index 00000000..efe52a66
c0f891
--- /dev/null
c0f891
+++ b/tests/07reshape5intr.broken
c0f891
@@ -0,0 +1,45 @@
c0f891
+always fails
c0f891
+
c0f891
+This patch, recently added to md-next causes the test to always fail:
c0f891
+
c0f891
+7e6ba434cc60 ("md: don't unregister sync_thread with reconfig_mutex
c0f891
+held")
c0f891
+
c0f891
+The new error is simply:
c0f891
+
c0f891
+   ERROR: no reshape happening
c0f891
+
c0f891
+Before the patch, the error seen is below.
c0f891
+
c0f891
+--
c0f891
+
c0f891
+fails infrequently
c0f891
+
c0f891
+Fails roughly 1 in 4 runs with errors:
c0f891
+
c0f891
+    mdadm: Merging with already-assembled /dev/md/0
c0f891
+    mdadm: cannot re-read metadata from /dev/loop6 - aborting
c0f891
+
c0f891
+    ERROR: no reshape happening
c0f891
+
c0f891
+Also have seen a random deadlock:
c0f891
+
c0f891
+     INFO: task mdadm:109702 blocked for more than 30 seconds.
c0f891
+           Not tainted 5.18.0-rc3-eid-vmlocalyes-dbg-00095-g3c2b5427979d #2040
c0f891
+     "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
c0f891
+     task:mdadm           state:D stack:    0 pid:109702 ppid:     1 flags:0x00004000
c0f891
+     Call Trace:
c0f891
+      <TASK>
c0f891
+      __schedule+0x67e/0x13b0
c0f891
+      schedule+0x82/0x110
c0f891
+      mddev_suspend+0x2e1/0x330
c0f891
+      suspend_lo_store+0xbd/0x140
c0f891
+      md_attr_store+0xcb/0x130
c0f891
+      sysfs_kf_write+0x89/0xb0
c0f891
+      kernfs_fop_write_iter+0x202/0x2c0
c0f891
+      new_sync_write+0x222/0x330
c0f891
+      vfs_write+0x3bc/0x4d0
c0f891
+      ksys_write+0xd9/0x180
c0f891
+      __x64_sys_write+0x43/0x50
c0f891
+      do_syscall_64+0x3b/0x90
c0f891
+      entry_SYSCALL_64_after_hwframe+0x44/0xae
c0f891
diff --git a/tests/07revert-grow.broken b/tests/07revert-grow.broken
c0f891
new file mode 100644
c0f891
index 00000000..9b6db86f
c0f891
--- /dev/null
c0f891
+++ b/tests/07revert-grow.broken
c0f891
@@ -0,0 +1,31 @@
c0f891
+always fails
c0f891
+
c0f891
+This patch, recently added to md-next causes the test to always fail:
c0f891
+
c0f891
+7e6ba434cc60 ("md: don't unregister sync_thread with reconfig_mutex held")
c0f891
+
c0f891
+The errors are:
c0f891
+
c0f891
+    mdadm: No active reshape to revert on /dev/loop0
c0f891
+    ERROR: active raid5 not found
c0f891
+
c0f891
+Before the patch, the error seen is below.
c0f891
+
c0f891
+--
c0f891
+
c0f891
+fails rarely
c0f891
+
c0f891
+Fails about 1 in every 30 runs with errors:
c0f891
+
c0f891
+    mdadm: Merging with already-assembled /dev/md/0
c0f891
+    mdadm: backup file /tmp/md-backup inaccessible: No such file or directory
c0f891
+    mdadm: failed to add /dev/loop1 to /dev/md/0: Invalid argument
c0f891
+    mdadm: failed to add /dev/loop2 to /dev/md/0: Invalid argument
c0f891
+    mdadm: failed to add /dev/loop3 to /dev/md/0: Invalid argument
c0f891
+    mdadm: failed to add /dev/loop0 to /dev/md/0: Invalid argument
c0f891
+    mdadm: /dev/md/0 assembled from 1 drive - need all 5 to start it
c0f891
+            (use --run to insist).
c0f891
+
c0f891
+    grep: /sys/block/md*/md/sync_action: No such file or directory
c0f891
+
c0f891
+    ERROR: active raid5 not found
c0f891
diff --git a/tests/07revert-shrink.broken b/tests/07revert-shrink.broken
c0f891
new file mode 100644
c0f891
index 00000000..c33c39ec
c0f891
--- /dev/null
c0f891
+++ b/tests/07revert-shrink.broken
c0f891
@@ -0,0 +1,9 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with errors:
c0f891
+
c0f891
+    mdadm: this change will reduce the size of the array.
c0f891
+           use --grow --array-size first to truncate array.
c0f891
+           e.g. mdadm --grow /dev/md0 --array-size 53760
c0f891
+
c0f891
+    ERROR: active raid5 not found
c0f891
diff --git a/tests/07testreshape5.broken b/tests/07testreshape5.broken
c0f891
new file mode 100644
c0f891
index 00000000..a8ce03e4
c0f891
--- /dev/null
c0f891
+++ b/tests/07testreshape5.broken
c0f891
@@ -0,0 +1,12 @@
c0f891
+always fails
c0f891
+
c0f891
+Test seems to run 'test_stripe' at $dir directory, but $dir is never
c0f891
+set. If $dir is adjusted to $PWD, the test still fails with:
c0f891
+
c0f891
+    mdadm: /dev/loop2 is not suitable for this array.
c0f891
+    mdadm: create aborted
c0f891
+    ++ return 1
c0f891
+    ++ cmp -s -n 8192 /dev/md0 /tmp/RandFile
c0f891
+    ++ echo cmp failed
c0f891
+    cmp failed
c0f891
+    ++ exit 2
c0f891
diff --git a/tests/09imsm-assemble.broken b/tests/09imsm-assemble.broken
c0f891
new file mode 100644
c0f891
index 00000000..a6d4d5cf
c0f891
--- /dev/null
c0f891
+++ b/tests/09imsm-assemble.broken
c0f891
@@ -0,0 +1,6 @@
c0f891
+fails infrequently
c0f891
+
c0f891
+Fails roughly 1 in 10 runs with errors:
c0f891
+
c0f891
+    mdadm: /dev/loop2 is still in use, cannot remove.
c0f891
+    /dev/loop2 removal from /dev/md/container should have succeeded
c0f891
diff --git a/tests/09imsm-create-fail-rebuild.broken b/tests/09imsm-create-fail-rebuild.broken
c0f891
new file mode 100644
c0f891
index 00000000..40c4b294
c0f891
--- /dev/null
c0f891
+++ b/tests/09imsm-create-fail-rebuild.broken
c0f891
@@ -0,0 +1,5 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with error:
c0f891
+
c0f891
+    **Error**: Array size mismatch - expected 3072, actual 16384
c0f891
diff --git a/tests/09imsm-overlap.broken b/tests/09imsm-overlap.broken
c0f891
new file mode 100644
c0f891
index 00000000..e7ccab76
c0f891
--- /dev/null
c0f891
+++ b/tests/09imsm-overlap.broken
c0f891
@@ -0,0 +1,7 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with errors:
c0f891
+
c0f891
+    **Error**: Offset mismatch - expected 15360, actual 0
c0f891
+    **Error**: Offset mismatch - expected 15360, actual 0
c0f891
+    /dev/md/vol3 failed check
c0f891
diff --git a/tests/10ddf-assemble-missing.broken b/tests/10ddf-assemble-missing.broken
c0f891
new file mode 100644
c0f891
index 00000000..bfd8d103
c0f891
--- /dev/null
c0f891
+++ b/tests/10ddf-assemble-missing.broken
c0f891
@@ -0,0 +1,6 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with errors:
c0f891
+
c0f891
+    ERROR: /dev/md/vol0 has unexpected state on /dev/loop10
c0f891
+    ERROR: unexpected number of online disks on /dev/loop10
c0f891
diff --git a/tests/10ddf-fail-create-race.broken b/tests/10ddf-fail-create-race.broken
c0f891
new file mode 100644
c0f891
index 00000000..6c0df023
c0f891
--- /dev/null
c0f891
+++ b/tests/10ddf-fail-create-race.broken
c0f891
@@ -0,0 +1,7 @@
c0f891
+usually fails
c0f891
+
c0f891
+Fails about 9 out of 10 times with many errors:
c0f891
+
c0f891
+    mdadm: cannot open MISSING: No such file or directory
c0f891
+    ERROR: non-degraded array found
c0f891
+    ERROR: disk 0 not marked as failed in meta data
c0f891
diff --git a/tests/10ddf-fail-two-spares.broken b/tests/10ddf-fail-two-spares.broken
c0f891
new file mode 100644
c0f891
index 00000000..eeea56d9
c0f891
--- /dev/null
c0f891
+++ b/tests/10ddf-fail-two-spares.broken
c0f891
@@ -0,0 +1,5 @@
c0f891
+fails infrequently
c0f891
+
c0f891
+Fails roughly 1 in 3 with error:
c0f891
+
c0f891
+   ERROR: /dev/md/vol1 should be optimal in meta data
c0f891
diff --git a/tests/10ddf-incremental-wrong-order.broken b/tests/10ddf-incremental-wrong-order.broken
c0f891
new file mode 100644
c0f891
index 00000000..a5af3bab
c0f891
--- /dev/null
c0f891
+++ b/tests/10ddf-incremental-wrong-order.broken
c0f891
@@ -0,0 +1,9 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with errors:
c0f891
+    ERROR: sha1sum of /dev/md/vol0 has changed
c0f891
+    ERROR: /dev/md/vol0 has unexpected state on /dev/loop10
c0f891
+    ERROR: unexpected number of online disks on /dev/loop10
c0f891
+    ERROR: /dev/md/vol0 has unexpected state on /dev/loop8
c0f891
+    ERROR: unexpected number of online disks on /dev/loop8
c0f891
+    ERROR: sha1sum of /dev/md/vol0 has changed
c0f891
diff --git a/tests/14imsm-r1_2d-grow-r1_3d.broken b/tests/14imsm-r1_2d-grow-r1_3d.broken
c0f891
new file mode 100644
c0f891
index 00000000..4ef1d406
c0f891
--- /dev/null
c0f891
+++ b/tests/14imsm-r1_2d-grow-r1_3d.broken
c0f891
@@ -0,0 +1,5 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with error:
c0f891
+
c0f891
+    mdadm/tests/func.sh: line 325: dvsize/chunk: division by 0 (error token is "chunk")
c0f891
diff --git a/tests/14imsm-r1_2d-takeover-r0_2d.broken b/tests/14imsm-r1_2d-takeover-r0_2d.broken
c0f891
new file mode 100644
c0f891
index 00000000..89cd4e57
c0f891
--- /dev/null
c0f891
+++ b/tests/14imsm-r1_2d-takeover-r0_2d.broken
c0f891
@@ -0,0 +1,6 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with error:
c0f891
+
c0f891
+    tests/func.sh: line 325: dvsize/chunk: division by 0 (error token
c0f891
+		is "chunk")
c0f891
diff --git a/tests/18imsm-r10_4d-takeover-r0_2d.broken b/tests/18imsm-r10_4d-takeover-r0_2d.broken
c0f891
new file mode 100644
c0f891
index 00000000..a27399f5
c0f891
--- /dev/null
c0f891
+++ b/tests/18imsm-r10_4d-takeover-r0_2d.broken
c0f891
@@ -0,0 +1,5 @@
c0f891
+fails rarely
c0f891
+
c0f891
+Fails about 1 run in 100 with message:
c0f891
+
c0f891
+   ERROR:  size is wrong for /dev/md/vol0: 2 * 5120 (chunk=128) = 20480, not 0
c0f891
diff --git a/tests/18imsm-r1_2d-takeover-r0_1d.broken b/tests/18imsm-r1_2d-takeover-r0_1d.broken
c0f891
new file mode 100644
c0f891
index 00000000..aa1982e6
c0f891
--- /dev/null
c0f891
+++ b/tests/18imsm-r1_2d-takeover-r0_1d.broken
c0f891
@@ -0,0 +1,6 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with error:
c0f891
+
c0f891
+    tests/func.sh: line 325: dvsize/chunk: division by 0 (error token
c0f891
+			is "chunk")
c0f891
diff --git a/tests/19raid6auto-repair.broken b/tests/19raid6auto-repair.broken
c0f891
new file mode 100644
c0f891
index 00000000..e91a1425
c0f891
--- /dev/null
c0f891
+++ b/tests/19raid6auto-repair.broken
c0f891
@@ -0,0 +1,5 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with:
c0f891
+
c0f891
+    "should detect errors"
c0f891
diff --git a/tests/19raid6repair.broken b/tests/19raid6repair.broken
c0f891
new file mode 100644
c0f891
index 00000000..e91a1425
c0f891
--- /dev/null
c0f891
+++ b/tests/19raid6repair.broken
c0f891
@@ -0,0 +1,5 @@
c0f891
+always fails
c0f891
+
c0f891
+Fails with:
c0f891
+
c0f891
+    "should detect errors"
c0f891
-- 
37f2b0
2.38.1
c0f891