From afec8f1476159bb7ecb85ad460909b01e9f295f2 Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Fri, 8 Dec 2017 12:24:46 -0700 Subject: [PATCH] setup.sh: updated to support older linux kernel When looking up nvme devices by name in older linux kernel versions, setup.sh was throwing errors while trying to follow a symlink on /sys/block/. This patch adds a fallback to the proper location of this symlink in those versions of the kernel. Change-Id: I13b5c1ce6f7505251789b64c740aba04d67f39a9 Signed-off-by: Seth Howell Reviewed-on: https://review.gerrithub.io/391019 Tested-by: SPDK Automated Test System Reviewed-by: Daniel Verkamp Reviewed-by: Jim Harris --- scripts/setup.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/setup.sh b/scripts/setup.sh index 9597aa681..0c58f8dd8 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -69,7 +69,11 @@ function get_nvme_name_from_bdf { nvme_devs=`lsblk -d --output NAME | grep "^nvme"` set -e for dev in $nvme_devs; do - bdf=$(basename $(readlink /sys/block/$dev/device/device)) + 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 eval "$2=$dev" return