]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
tests: fix 09imsm-assemble
authorMateusz Kusiak <mateusz.kusiak@intel.com>
Tue, 3 Dec 2024 10:05:56 +0000 (11:05 +0100)
committerMariusz Tkaczyk <mtkaczyk@kernel.org>
Fri, 13 Dec 2024 09:08:10 +0000 (10:08 +0100)
Refactor imsm_check_removal() to give mdadm a chance to remove the
device, add retries.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
tests/09imsm-assemble

index d7028c6261366396bea7930338e9c15157eb12f0..9b04aa978ddfe8fb3384407eeafd9b543cbaf12b 100644 (file)
@@ -12,12 +12,23 @@ imsm_check_hold() {
 }
 
 imsm_check_removal() {
-   if ! mdadm --remove $1 $2 ; then
-       echo "$2 removal from $1 should have succeeded" >&2
-       cat /proc/mdstat >&2
-       mdadm -E $2
-       exit 1
-   fi
+    local ret=5
+    local success=0
+
+    for ((i=1; i<=ret; i++)); do
+        if mdadm --remove "$1" "$2"; then
+            success=1
+            break
+        fi
+        sleep 1
+    done
+
+    if [ $success -ne 1 ]; then
+        echo "$2 removal from $1 should have succeeded" >&2
+        cat /proc/mdstat >&2
+        mdadm -E "$2"
+        exit 1
+    fi
 }
 
 export IMSM_DEVNAME_AS_SERIAL=1