Commit cb7af50c authored by Michal Berger's avatar Michal Berger Committed by Jim Harris
Browse files

test/common: Commonize get_block_dev*() functions



Adjust get_nvme_name_from_bdf() so it calls to
get_block_dev_from_nvme().

Change-Id: If5f0eb573878a42e0ad0ab0453c73d39cbdf6020
Signed-off-by: default avatarMichal Berger <michal.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23508


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarMarek Chomnicki <marek.chomnicki@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 95a792fe
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -11,6 +11,9 @@
# if PCI_BLOCKED is empty assume device is NOT blocked
# Params:
# $1 - PCI BDF

shopt -s extglob

function pci_can_use() {
	local i

@@ -505,6 +508,39 @@ kmsg() {
	echo "$*" > /dev/kmsg
}

function get_block_dev_from_bdf() {
	local bdf=$1
	local block blocks=() ctrl sub

	for block in /sys/block/!(nvme*); do
		if [[ $(readlink -f "$block/device") == *"/$bdf/"* ]]; then
			blocks+=("${block##*/}")
		fi
	done

	blocks+=($(get_block_dev_from_nvme "$bdf"))

	printf '%s\n' "${blocks[@]}"
}

function get_block_dev_from_nvme() {
	local bdf=$1 block ctrl sub

	for ctrl in /sys/class/nvme/nvme*; do
		[[ -e $ctrl/address && $(< "$ctrl/address") == "$bdf" ]] || continue
		sub=$(< "$ctrl/subsysnqn") && break
	done

	[[ -n $sub ]] || return 0

	for block in /sys/block/nvme*; do
		[[ -e $block/hidden && $(< "$block/hidden") == 1 ]] && continue
		if [[ -e $block/device/subsysnqn && $(< "$block/device/subsysnqn") == "$sub" ]]; then
			echo "${block##*/}"
		fi
	done
}

if [[ -e "$CONFIG_WPDK_DIR/bin/wpdk_common.sh" ]]; then
	# Adjust uname to report the operating system as WSL, Msys or Cygwin
	# and the kernel name as Windows. Define kill() to invoke the SIGTERM
+0 −33
Original line number Diff line number Diff line
@@ -230,39 +230,6 @@ function linux_hugetlbfs_mounts() {
	mount | grep ' type hugetlbfs ' | awk '{ print $3 }'
}

function get_block_dev_from_bdf() {
	local bdf=$1
	local block blocks=() ctrl sub

	for block in /sys/block/!(nvme*); do
		if [[ $(readlink -f "$block/device") == *"/$bdf/"* ]]; then
			blocks+=("${block##*/}")
		fi
	done

	blocks+=($(get_block_dev_from_nvme "$bdf"))

	printf '%s\n' "${blocks[@]}"
}

function get_block_dev_from_nvme() {
	local bdf=$1 block ctrl sub

	for ctrl in /sys/class/nvme/nvme*; do
		[[ -e $ctrl/address && $(< "$ctrl/address") == "$bdf" ]] || continue
		sub=$(< "$ctrl/subsysnqn") && break
	done

	[[ -n $sub ]] || return 0

	for block in /sys/block/nvme*; do
		[[ -e $block/hidden && $(< "$block/hidden") == 1 ]] && continue
		if [[ -e $block/device/subsysnqn && $(< "$block/device/subsysnqn") == "$sub" ]]; then
			echo "${block##*/}"
		fi
	done
}

function get_used_bdf_block_devs() {
	local bdf=$1
	local blocks block blockp dev mount holder
+1 −18
Original line number Diff line number Diff line
@@ -1474,24 +1474,7 @@ function freebsd_set_maxsock_buf() {
}

function get_nvme_name_from_bdf() {
	blkname=()

	nvme_devs=$(lsblk -d --output NAME | grep "^nvme") || true
	if [ -z "${nvme_devs:-}" ]; then
		return
	fi
	for dev in $nvme_devs; do
		link_name=$(readlink /sys/block/$dev/device/device) || true
		if [ -z "${link_name:-}" ]; then
			link_name=$(readlink /sys/block/$dev/device)
		fi
		bdf=$(basename "$link_name")
		if [ "$bdf" = "$1" ]; then
			blkname+=($dev)
		fi
	done

	printf '%s\n' "${blkname[@]}"
	get_block_dev_from_nvme "$@"
}

function get_nvme_ctrlr_from_bdf() {