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: Tomasz 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: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
This commit is contained in:
Tomasz Zawadzki 2020-06-08 10:48:03 -04:00
parent 4e0eb251f7
commit 256f554d9e
4 changed files with 15 additions and 11 deletions

View File

@ -1175,6 +1175,15 @@ function get_nvme_name_from_bdf() {
printf '%s\n' "${blkname[@]}" 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() { function opal_revert_cleanup() {
$SPDK_BIN_DIR/spdk_tgt & $SPDK_BIN_DIR/spdk_tgt &
spdk_tgt_pid=$! spdk_tgt_pid=$!

View File

@ -18,13 +18,10 @@ $rootdir/scripts/setup.sh reset
sleep 1 sleep 1
for bdf in $bdfs; do for bdf in $bdfs; do
# get_nvme_name_from_bdf returns namespace device. nvme_name=$(get_nvme_ctrlr_from_bdf ${bdf})
# We need here controller. if [[ -z "$nvme_name" ]]; then
bdf_sysfs_path=$(readlink -f /sys/class/nvme/nvme* | grep "$bdf/nvme/nvme")
if [ -z "$bdf_sysfs_path" ]; then
continue continue
fi fi
nvme_name=$(basename $bdf_sysfs_path)
oacs=$($NVME_CMD id-ctrl /dev/${nvme_name} | grep oacs | cut -d: -f2) oacs=$($NVME_CMD id-ctrl /dev/${nvme_name} | grep oacs | cut -d: -f2)
oacs_ns_manage=$((oacs & 0x8)) oacs_ns_manage=$((oacs & 0x8))

View File

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

View File

@ -12,12 +12,11 @@ bdf=$(get_first_nvme_bdf)
PCI_WHITELIST="${bdf}" $rootdir/scripts/setup.sh reset PCI_WHITELIST="${bdf}" $rootdir/scripts/setup.sh reset
sleep 1 sleep 1
bdf_sysfs_path=$(readlink -f /sys/class/nvme/nvme* | grep "$bdf/nvme/nvme") nvme_name=$(get_nvme_ctrlr_from_bdf ${bdf})
if [ -z "$bdf_sysfs_path" ]; then if [[ -z "$nvme_name" ]]; then
echo "setup.sh failed bind kernel driver to ${bdf}" echo "setup.sh failed bind kernel driver to ${bdf}"
exit 1 exit 1
fi 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) KERNEL_SMART_JSON=$(${SMARTCTL_CMD} --json=g -a /dev/${nvme_name} | grep -v "/dev/${nvme_name}" | sort || true)