test/autotest_common: add an option to wait for a bdev

Adds an option to wait for a bdev to appear
when issuing bdev_get_bdevs in waitforbdev.

Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com>
Change-Id: I2f989a2cc5282049182834b67629f2fa11122105
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12131
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Kamil Godzwon 2022-04-01 06:22:15 -04:00 committed by Tomasz Zawadzki
parent 64eebbd132
commit d66bb2d185

View File

@ -775,21 +775,15 @@ function waitfornbd() {
function waitforbdev() {
local bdev_name=$1
local bdev_timeout=$2
local i
[[ -z $bdev_timeout ]] && bdev_timeout=2000 # ms
$rpc_py bdev_wait_for_examine
for ((i = 1; i <= 20; i++)); do
if $rpc_py bdev_get_bdevs | jq -r '.[] .name' | grep -qw $bdev_name; then
return 0
fi
if $rpc_py bdev_get_bdevs | jq -r '.[] .aliases' | grep -qw $bdev_name; then
return 0
fi
sleep 0.1
done
if $rpc_py bdev_get_bdevs -b $bdev_name -t $bdev_timeout; then
return 0
fi
return 1
}