test/vhost: Make sure $disk_map exists

Also, simplify the way how it's read. As a benefit, this gets rid of
the xargs complaining about a NUL being sent out to its input which
was quite verbose.

Signed-off-by: Michal Berger <michal.berger@intel.com>
Change-Id: Iaeb09298c2255404273bb3fc6910bc6b93c2d7eb
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16892
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Michal Berger 2023-02-21 09:36:54 +01:00 committed by David Ko
parent 276a5f1d45
commit 182ed72f35

View File

@ -239,7 +239,7 @@ fi
trap 'error_exit "${FUNCNAME}" "${LINENO}"' INT ERR trap 'error_exit "${FUNCNAME}" "${LINENO}"' INT ERR
if [[ -z $disk_map ]]; then if [[ ! -f $disk_map ]]; then
fail "No disk map provided for test. Exiting." fail "No disk map provided for test. Exiting."
fi fi
@ -268,27 +268,19 @@ if [[ $run_precondition == true ]]; then
--iodepth=32 --filename="${fio_filename}" || true --iodepth=32 --filename="${fio_filename}" || true
fi fi
set +x while IFS="," read -r bdf spdk_name split vms; do
readarray disk_cfg < $disk_map [[ $bdf == "#"* ]] && continue
for line in "${disk_cfg[@]}"; do disk_cfg_bdfs+=("$bdf")
echo $line disk_cfg_spdk_names+=("$spdk_name")
[[ $line == "#"* ]] && continue disk_cfg_splits+=("$split")
IFS="," disk_cfg_vms+=("$vms")
s=($line)
disk_cfg_bdfs+=(${s[0]})
disk_cfg_spdk_names+=(${s[1]})
disk_cfg_splits+=(${s[2]})
disk_cfg_vms+=("${s[3]}")
# Find kernel nvme names # Find kernel nvme names
if [[ "$ctrl_type" == "kernel_vhost" ]]; then if [[ "$ctrl_type" == "kernel_vhost" ]]; then
tmp=$(find /sys/devices/pci* -name ${s[0]} -print0 | xargs sh -c 'ls $0/nvme') disk_cfg_kernel_names+=("/sys/bus/pci/devices/$bdf/nvme/nvme"*)
disk_cfg_kernel_names+=($tmp)
IFS=" "
fi fi
done done < "$disk_map"
unset IFS
set -x disk_cfg_kernel_names=("${disk_cfg_kernel_names[@]##*/}")
if [[ "$ctrl_type" == "kernel_vhost" ]]; then if [[ "$ctrl_type" == "kernel_vhost" ]]; then
notice "Configuring kernel vhost..." notice "Configuring kernel vhost..."