summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2023-05-06 22:38:58 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2023-05-06 22:41:23 +0200
commit6e8ede833ba4b974f7e2acf8c7e36eaba9661fe8 (patch)
treec0c7f18e96e054dee57341078d3be3f25855258f
parent87eae82195d5272808614b14843c302e7bed80d5 (diff)
downloadlvm2-6e8ede833ba4b974f7e2acf8c7e36eaba9661fe8.tar.gz
aux: retry brd removal
Try to remove brd twice if there is some collision with udevd. Instanciate only 1 ramdisk. Use just 'eval' for '--nameprefixes' results.
-rw-r--r--test/lib/aux.sh23
1 files changed, 14 insertions, 9 deletions
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index c6b6ac1cc..5a3f0fe44 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -418,9 +418,7 @@ teardown_devs_prefixed() {
for dm in $(dm_info name,open --separator ';' --nameprefixes --unquoted --sort open,"$sortby" -S "name=~$prefix" --mangle none || true) ; do
test "$dm" != "No devices found" || break 2
- DM_NAME=${dm##DM_NAME=}
- DM_NAME=${DM_NAME%%;DM_OPEN*}
- DM_OPEN=${dm##*;DM_OPEN=}
+ eval "$dm"
local force="-f"
if test "$i" = 0; then
if test "$once" = 1 ; then
@@ -452,17 +450,24 @@ teardown_devs() {
test ! -f MD_DEV || cleanup_md_dev
test ! -f DEVICES || teardown_devs_prefixed "$PREFIX"
- test ! -f RAMDISK || { modprobe -r brd || true ; }
+ if test -f RAMDISK ; then
+ for i in 1 2 ; do
+ modprobe -r brd && break
+ sleep .1
+ udev_wait
+ done
+ fi
# NOTE: SCSI_DEBUG_DEV test must come before the LOOP test because
# prepare_scsi_debug_dev() also sets LOOP to short-circuit prepare_loop()
if test -f SCSI_DEBUG_DEV; then
udev_wait
test "${LVM_TEST_PARALLEL:-0}" -eq 1 || {
- if ! modprobe -r scsi_debug ; then
- sleep 1
- modprobe -r scsi_debug || true
- fi
+ for i in 1 2 ; do
+ modprobe -r scsi_debug && break
+ sleep .1
+ udev_wait
+ done
}
else
test ! -f LOOP || losetup -d "$(< LOOP)" || true
@@ -684,7 +689,7 @@ prepare_ramdisk() {
modprobe -r brd || return 0
echo -n "## preparing ramdisk device..."
- modprobe brd rd_size=$((size * 1024)) || return
+ modprobe brd rd_size=$((size * 1024)) rd_nr=1 || return
BACKING_DEV=/dev/ram0
echo "ok ($BACKING_DEV)"