summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorMingli Yu <mingli.yu@windriver.com>2023-03-16 16:27:40 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-03-16 17:49:38 +0000
commit47b0e320f4c440aaeab270aac34c29bf0d0288b8 (patch)
treeafee148cf051b584f8f9b60faf77f21baf56abf7 /meta
parent78465fcbbba997e70b06d9e7eb3cace6e29dff92 (diff)
downloadpoky-47b0e320f4c440aaeab270aac34c29bf0d0288b8.tar.gz
mdadm: Fix raid0 tests
Backport patches to fix raid0 tests: tests/00raid0 tests/00readonly tests/03r0assem tests/04r0update tests/04update-metadata (From OE-Core rev: cb8ab2674d155fa8d90956c3522653b013ce6e6c) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch39
-rw-r--r--meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch41
-rw-r--r--meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch102
-rw-r--r--meta/recipes-extended/mdadm/mdadm_4.2.bb3
4 files changed, 185 insertions, 0 deletions
diff --git a/meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch b/meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch
new file mode 100644
index 0000000000..c621c082e8
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch
@@ -0,0 +1,39 @@
1From 39b381252c32275079344d30de18b76fda4bba26 Mon Sep 17 00:00:00 2001
2From: Logan Gunthorpe <logang@deltatee.com>
3Date: Wed, 27 Jul 2022 15:52:45 -0600
4Subject: [PATCH] tests/00readonly: Run udevadm settle before setting ro
5
6In some recent kernel versions, 00readonly fails with:
7
8 mdadm: failed to set readonly for /dev/md0: Device or resource busy
9 ERROR: array is not read-only!
10
11This was traced down to a race condition with udev holding a reference
12to the block device at the same time as trying to set it read only.
13
14To fix this, call udevadm settle before setting the array read only.
15
16Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=39b381252c32275079344d30de18b76fda4bba26]
17
18Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
19Signed-off-by: Jes Sorensen <jsorensen@fb.com>
20Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
21---
22 tests/00readonly | 1 +
23 1 file changed, 1 insertion(+)
24
25diff --git a/tests/00readonly b/tests/00readonly
26index 39202487..afe243b3 100644
27--- a/tests/00readonly
28+++ b/tests/00readonly
29@@ -12,6 +12,7 @@ do
30 $dev1 $dev2 $dev3 $dev4 --assume-clean
31 check nosync
32 check $level
33+ udevadm settle
34 mdadm -ro $md0
35 check readonly
36 state=$(cat /sys/block/md0/md/array_state)
37--
382.25.1
39
diff --git a/meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch b/meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch
new file mode 100644
index 0000000000..9098fb2540
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch
@@ -0,0 +1,41 @@
1From de045db607b1ac4b70fc2a8878463e029c2ab1dc Mon Sep 17 00:00:00 2001
2From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
3Date: Wed, 22 Jun 2022 14:25:15 -0600
4Subject: [PATCH] tests/04update-metadata: avoid passing chunk size to raid1
5
6'04update-metadata' test fails with error, "specifying chunk size is
7forbidden for this level" added by commit, 5b30a34aa4b5e. Hence,
8correcting the test to ignore passing chunk size to raid1.
9
10Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=de045db607b1ac4b70fc2a8878463e029c2ab1dc]
11
12Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
13Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com>
14[logang@deltatee.com: fix if/then style and dropped unrelated hunk]
15Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
16Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
17Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
18---
19 tests/04update-metadata | 6 +++++-
20 1 file changed, 5 insertions(+), 1 deletion(-)
21
22diff --git a/tests/04update-metadata b/tests/04update-metadata
23index 08c14af7..2b72a303 100644
24--- a/tests/04update-metadata
25+++ b/tests/04update-metadata
26@@ -11,7 +11,11 @@ dlist="$dev0 $dev1 $dev2 $dev3"
27 for ls in linear/4 raid1/1 raid5/3 raid6/2
28 do
29 s=${ls#*/} l=${ls%/*}
30- mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
31+ if [[ $l == 'raid1' ]]; then
32+ mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 $dlist
33+ else
34+ mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
35+ fi
36 testdev $md0 $s 19904 64
37 mdadm -S $md0
38 mdadm -A $md0 --update=metadata $dlist
39--
402.25.1
41
diff --git a/meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch b/meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch
new file mode 100644
index 0000000000..d2e7d8ee50
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch
@@ -0,0 +1,102 @@
1From 14c2161edb77d7294199e8aa7daa9f9d1d0ad5d7 Mon Sep 17 00:00:00 2001
2From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
3Date: Wed, 22 Jun 2022 14:25:14 -0600
4Subject: [PATCH] tests: fix raid0 tests for 0.90 metadata
5
6Some of the test cases fail because raid0 creation fails with the error,
7"0.90 metadata does not support layouts for RAID0" added by commit,
8329dfc28debb. Fix some of the test cases by switching from raid0 to
9linear level for 0.9 metadata where possible.
10
11Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=14c2161edb77d7294199e8aa7daa9f9d1d0ad5d7]
12
13Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
14Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com>
15Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
16Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
17Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
18---
19 tests/00raid0 | 4 ++--
20 tests/00readonly | 4 ++++
21 tests/03r0assem | 6 +++---
22 tests/04r0update | 4 ++--
23 tests/04update-metadata | 2 +-
24 5 files changed, 12 insertions(+), 8 deletions(-)
25
26diff --git a/tests/00raid0 b/tests/00raid0
27index e6b21cc4..9b8896cb 100644
28--- a/tests/00raid0
29+++ b/tests/00raid0
30@@ -20,8 +20,8 @@ mdadm -S $md0
31 # now same again with different chunk size
32 for chunk in 4 32 256
33 do
34- mdadm -CR $md0 -e0.90 -l raid0 --chunk $chunk -n3 $dev0 $dev1 $dev2
35- check raid0
36+ mdadm -CR $md0 -e0.90 -l linear --chunk $chunk -n3 $dev0 $dev1 $dev2
37+ check linear
38 testdev $md0 3 $mdsize0 $chunk
39 mdadm -S $md0
40
41diff --git a/tests/00readonly b/tests/00readonly
42index 28b0fa13..39202487 100644
43--- a/tests/00readonly
44+++ b/tests/00readonly
45@@ -4,6 +4,10 @@ for metadata in 0.9 1.0 1.1 1.2
46 do
47 for level in linear raid0 raid1 raid4 raid5 raid6 raid10
48 do
49+ if [[ $metadata == "0.9" && $level == "raid0" ]];
50+ then
51+ continue
52+ fi
53 mdadm -CR $md0 -l $level -n 4 --metadata=$metadata \
54 $dev1 $dev2 $dev3 $dev4 --assume-clean
55 check nosync
56diff --git a/tests/03r0assem b/tests/03r0assem
57index 6744e322..44df0645 100644
58--- a/tests/03r0assem
59+++ b/tests/03r0assem
60@@ -68,9 +68,9 @@ mdadm -S $md2
61 ### Now for version 0...
62
63 mdadm --zero-superblock $dev0 $dev1 $dev2
64-mdadm -CR $md2 -l0 --metadata=0.90 -n3 $dev0 $dev1 $dev2
65-check raid0
66-tst="testdev $md2 3 $mdsize0 512"
67+mdadm -CR $md2 -llinear --metadata=0.90 -n3 $dev0 $dev1 $dev2
68+check linear
69+tst="testdev $md2 3 $mdsize0 1"
70 $tst
71
72 uuid=`mdadm -Db $md2 | sed 's/.*UUID=//'`
73diff --git a/tests/04r0update b/tests/04r0update
74index 73ee3b9f..b95efb06 100644
75--- a/tests/04r0update
76+++ b/tests/04r0update
77@@ -1,7 +1,7 @@
78
79 # create a raid0, re-assemble with a different super-minor
80-mdadm -CR -e 0.90 $md0 -l0 -n3 $dev0 $dev1 $dev2
81-testdev $md0 3 $mdsize0 512
82+mdadm -CR -e 0.90 $md0 -llinear -n3 $dev0 $dev1 $dev2
83+testdev $md0 3 $mdsize0 1
84 minor1=`mdadm -E $dev0 | sed -n -e 's/.*Preferred Minor : //p'`
85 mdadm -S /dev/md0
86
87diff --git a/tests/04update-metadata b/tests/04update-metadata
88index 232fc1ff..08c14af7 100644
89--- a/tests/04update-metadata
90+++ b/tests/04update-metadata
91@@ -8,7 +8,7 @@ set -xe
92
93 dlist="$dev0 $dev1 $dev2 $dev3"
94
95-for ls in raid0/4 linear/4 raid1/1 raid5/3 raid6/2
96+for ls in linear/4 raid1/1 raid5/3 raid6/2
97 do
98 s=${ls#*/} l=${ls%/*}
99 mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
100--
1012.25.1
102
diff --git a/meta/recipes-extended/mdadm/mdadm_4.2.bb b/meta/recipes-extended/mdadm/mdadm_4.2.bb
index b5fbc5b18e..ffb42aa13a 100644
--- a/meta/recipes-extended/mdadm/mdadm_4.2.bb
+++ b/meta/recipes-extended/mdadm/mdadm_4.2.bb
@@ -28,6 +28,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
28 file://0001-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \ 28 file://0001-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
29 file://0001-mdadm-Fix-optional-write-behind-parameter.patch \ 29 file://0001-mdadm-Fix-optional-write-behind-parameter.patch \
30 file://0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch \ 30 file://0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch \
31 file://0001-tests-fix-raid0-tests-for-0.90-metadata.patch \
32 file://0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch \
33 file://0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch \
31 " 34 "
32 35
33SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d" 36SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d"