Commit 256f554d authored by Tomasz Zawadzki's avatar Tomasz Zawadzki
Browse files

test/common: add get_nvme_ctrlr_from_bdf()



This is used couple times in cuse test, so move it to common script.

Signed-off-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I1e9f973e7fb53b0024fb320d37632e1e011ba3e9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2824


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarKarol Latecki <karol.latecki@intel.com>
parent 4e0eb251
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1175,6 +1175,15 @@ function get_nvme_name_from_bdf() {
	printf '%s\n' "${blkname[@]}"
}

function get_nvme_ctrlr_from_bdf() {
	bdf_sysfs_path=$(readlink -f /sys/class/nvme/nvme* | grep "$1/nvme/nvme")
	if [[ -z "$bdf_sysfs_path" ]]; then
		return
	fi

	printf '%s\n' "$(basename $bdf_sysfs_path)"
}

function opal_revert_cleanup() {
	$SPDK_BIN_DIR/spdk_tgt &
	spdk_tgt_pid=$!
+2 −5
Original line number Diff line number Diff line
@@ -18,13 +18,10 @@ $rootdir/scripts/setup.sh reset
sleep 1

for bdf in $bdfs; do
	# get_nvme_name_from_bdf returns namespace device.
	# We need here controller.
	bdf_sysfs_path=$(readlink -f /sys/class/nvme/nvme* | grep "$bdf/nvme/nvme")
	if [ -z "$bdf_sysfs_path" ]; then
	nvme_name=$(get_nvme_ctrlr_from_bdf ${bdf})
	if [[ -z "$nvme_name" ]]; then
		continue
	fi
	nvme_name=$(basename $bdf_sysfs_path)

	oacs=$($NVME_CMD id-ctrl /dev/${nvme_name} | grep oacs | cut -d: -f2)
	oacs_ns_manage=$((oacs & 0x8))
+2 −3
Original line number Diff line number Diff line
@@ -18,12 +18,11 @@ bdf=$(get_first_nvme_bdf)

PCI_WHITELIST="${bdf}" $rootdir/scripts/setup.sh reset
sleep 1
bdf_sysfs_path=$(readlink -f /sys/class/nvme/nvme* | grep "$bdf/nvme/nvme")
if [ -z "$bdf_sysfs_path" ]; then
nvme_name=$(get_nvme_ctrlr_from_bdf ${bdf})
if [[ -z "$nvme_name" ]]; then
	echo "setup.sh failed bind kernel driver to ${bdf}"
	return 1
fi
nvme_name=$(basename $bdf_sysfs_path)

set +e

+2 −3
Original line number Diff line number Diff line
@@ -12,12 +12,11 @@ bdf=$(get_first_nvme_bdf)

PCI_WHITELIST="${bdf}" $rootdir/scripts/setup.sh reset
sleep 1
bdf_sysfs_path=$(readlink -f /sys/class/nvme/nvme* | grep "$bdf/nvme/nvme")
if [ -z "$bdf_sysfs_path" ]; then
nvme_name=$(get_nvme_ctrlr_from_bdf ${bdf})
if [[ -z "$nvme_name" ]]; then
	echo "setup.sh failed bind kernel driver to ${bdf}"
	exit 1
fi
nvme_name=$(basename $bdf_sysfs_path)

KERNEL_SMART_JSON=$(${SMARTCTL_CMD} --json=g -a /dev/${nvme_name} | grep -v "/dev/${nvme_name}" | sort || true)