mdadm: fix ptest hang

Before commit[80d17497b7 mdadm: improve the run-ptest],
the mdadm ptest just run some tests without
"--keep-going" option. After the option added in
commit 80d17497b7, all test cases have chance to
be called.

But the logic in mdadm upstream commit
[e2a8e9d tests: wait for complete rebuild in integrity checks]
will make the test enter infinite loop especially in
qemu env as commit e2a8e9d update the logic from
"check wait" to "check state 'U*'" for testcase
tests/01r5integ and tests/01raid6integ. Considering all
other cases still use "check wait" logic, so revert e2a8e9d
to make tests/01r5integ and tests/01raid6integ also use
"check wait" logic to avoid the infinite loop.

[YOCTO #13368]

(From OE-Core rev: b507793f4adde0c60588b06520d7d0b70acfd82a)

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mingli Yu
2019-07-15 16:56:18 +08:00
committed by Richard Purdie
parent 2c6db4d8e7
commit 8af95f0ee7
2 changed files with 54 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
From 02a41c3fd560fb5250186dd6b3cff6b21daa2e2b Mon Sep 17 00:00:00 2001
From: Mingli Yu <Mingli.Yu@windriver.com>
Date: Mon, 15 Jul 2019 14:12:24 +0800
Subject: [PATCH] Revert "tests: wait for complete rebuild in integrity checks"
This reverts commit e2a8e9dcf67a28bc722fa5ab2c49b0bc452d4d74
as the logic "check state 'U*'" will make the test enters
infinite loop especially in qemu env, so revert it to
use the previous logic "check wait" which also used
commonly by other tests such as tests/02r5grow, tests/07revert-grow
and etc.
Upstream-Status: Submitted[https://marc.info/?l=linux-raid&m=156317157314030&w=2]
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
---
tests/01r5integ | 2 +-
tests/01raid6integ | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/01r5integ b/tests/01r5integ
index 48676a2..ffb30ce 100644
--- a/tests/01r5integ
+++ b/tests/01r5integ
@@ -27,7 +27,7 @@ do
exit 1
fi
mdadm $md0 -a $i
- while ! (check state 'U*'); do check wait; sleep 0.2; done
+ check wait
done
mdadm -S $md0
done
diff --git a/tests/01raid6integ b/tests/01raid6integ
index 12f4d81..c6fcdae 100644
--- a/tests/01raid6integ
+++ b/tests/01raid6integ
@@ -47,10 +47,10 @@ do
exit 1
fi
mdadm $md0 -a $first
- while ! (check state 'U*_U*'); do check wait; sleep 0.2; done
+ check wait
done
mdadm $md0 -a $second
- while ! (check state 'U*'); do check wait; sleep 0.2; done
+ check wait
totest="$totest $second"
done
mdadm -S $md0
--
2.7.4

View File

@@ -18,6 +18,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
file://0001-Compute-abs-diff-in-a-standard-compliant-way.patch \
file://0001-fix-gcc-8-format-truncation-warning.patch \
file://debian-no-Werror.patch \
file://0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch \
file://mdadm.init \
file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \
"