scripts/fio-wrapper: Simplify check for bdev devices

While testing fedora35 under 5.18 kernel it was noticed that the
sysfs dir structure changed comparing to older versions of the
kernel. To make sure proper devices can be found regardless of
the kernel version simplify the process by just looking up
the model of the ctrl given nvme block device is connected to.

Signed-off-by: Michal Berger <michal.berger@intel.com>
Change-Id: I7ff55c8d8c50acd2a117bed2a31ddb9890615e18
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13674
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Kamil Godzwon <kamilx.godzwon@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
This commit is contained in:
Michal Berger 2022-07-14 14:09:20 +02:00 committed by Konrad Sztyber
parent b71eebd85a
commit 269737b902

View File

@ -51,17 +51,15 @@ get_iscsi() {
get_nvme() { get_nvme() {
local blocks nvme nvme_sub local blocks nvme nvme_sub
for nvme in /sys/class/nvme/nvme+([0-9]); do for nvme in /sys/block/nvme*; do
# Make sure we touch only the block devices which belong to bdev subsystem and # Some kernels expose hidden fabrics devices ("nvmeXcXnX") under sysfs - skip them.
# use supported protocols. if (($(< "$nvme/hidden") == 1)); then
[[ $(< "$nvme/transport") == tcp || $(< "$nvme/transport") == rdma ]] || continue continue
for nvme_sub in /sys/class/nvme-subsystem/nvme-subsys+([0-9]); do fi
[[ -e $nvme_sub/${nvme##*/} ]] || continue # Make sure we touch only the block devices which belong to bdev subsystem.
[[ $(< "$nvme_sub/model") == "SPDK bdev Controller"* ]] || continue [[ $(< "$nvme/device/model") == "SPDK bdev Controller"* ]] || continue
blocks+=("$nvme_sub/${nvme##*/}"n*) blocks+=("${nvme##*/}")
done done
done
blocks=("${blocks[@]##*/}")
printf '%s\n' "${blocks[@]}" printf '%s\n' "${blocks[@]}"
} }