diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2016-12-22 22:21:09 +0100 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2016-12-22 23:37:07 +0100 |
commit | e1943fc07f81e1c824757ccdac45c1e43a57af28 (patch) | |
tree | 7e3115119b22d40ecadb634ed8468011b01a47bd | |
parent | 1053d46aff11a8e592ca91ba56d6400f4693b9a5 (diff) | |
download | lvm2-e1943fc07f81e1c824757ccdac45c1e43a57af28.tar.gz |
tests: add device holding function
Hold device open with sleep and wait till sleep really opens
given devices.
-rw-r--r-- | test/lib/aux.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/lib/aux.sh b/test/lib/aux.sh index a1958835f..174e05e45 100644 --- a/test/lib/aux.sh +++ b/test/lib/aux.sh @@ -1491,6 +1491,27 @@ wait_pvmove_lv_ready() { fi } +# Holds device open with sleep which automatically expires after given timeout +# Prints PID of running holding sleep process in background +hold_device_open() { + local vgname=$1 + local lvname=$2 + local sec=${3:-20} # default 20sec + + sleep $sec < "$DM_DEV_DIR/$vgname/$lvname" >/dev/null 2>&1 & + SLEEP_PID=$! + # wait till device is openned + for i in $(seq 1 50) ; do + if test "$(dmsetup info --noheadings -c -o open $vgname-$lvname)" -ne 0 ; then + echo "$SLEEP_PID" + return + fi + sleep .1 + done + + die "$vgname-$lvname expected to be openned, but it's not!" +} + # return total memory size in kB units total_mem() { while IFS=":" read -r a b ; do |