diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2021-03-23 21:28:28 +0100 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2021-03-23 21:28:28 +0100 |
commit | dd1f5f9a24fc906de7e6dd064ecdd8fdfa9eebda (patch) | |
tree | ab84d2bc2f6ff47c5d3b85903f431cbb13227a1e | |
parent | 93f2d194aca4a589cd38dd8bdd99cad2945dd21c (diff) | |
download | lvm2-dd1f5f9a24fc906de7e6dd064ecdd8fdfa9eebda.tar.gz |
tests: aux clean DM on top of MD
Before cleaning MD, try to remove any DM on top such MD.
Check is made through DM table check.
Maybe parse /proc/mdstat for this???
-rw-r--r-- | test/lib/aux.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/lib/aux.sh b/test/lib/aux.sh index 386918041..08eeac55b 100644 --- a/test/lib/aux.sh +++ b/test/lib/aux.sh @@ -783,11 +783,21 @@ cleanup_md_dev() { mddev=$(< MD_DEV) base=$(basename "$mddev") + # try to find and remove any DM device on top of cleaned MD + # assume /dev/mdXXX is 9:MINOR + local minor=${mddev##/dev/md} + for i in $(dmsetup table | grep 9:$minor | cut -d: -f1) ; do + dmsetup remove $i || { + dmsetup --force remove $i || true + } + done + for i in {0..10} ; do grep -q "$base" /proc/mdstat || break test "$i" = 0 || { sleep .1 echo "$mddev is still present, stopping again" + cat /proc/mdstat } mdadm --stop "$mddev" || true udev_wait # wait till events are process, not zeroing to early |