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