From 1dfac8ba699cbf1d2c6ecde46842c105aa46472f Mon Sep 17 00:00:00 2001 From: Michal Berger Date: Tue, 14 Apr 2020 14:27:34 +0200 Subject: [PATCH] test/ocf: Don't depend on gen_nvme.sh while detecting nvme ctrls gen_nvme.sh requires that all the nvme devices are not bound to the nvme driver which doesn't have to be the case when clear_nvme() is called. To not depend on which driver is in use, simply iterate over pci bus to find a proper device. This avoids additional setup.sh ping-pong which is required to make use of gen_nvme.sh. Additionally, upon exiting, in case mounts for given nvme device were detected, keep the test environment reset to leave nvmes bound to the nvme driver. Change-Id: I428c5e2b0517553d267411a30316bde5d1ce8eef Signed-off-by: Michal Berger Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1843 Tested-by: SPDK CI Jenkins Reviewed-by: Tomasz Zawadzki Reviewed-by: Shuhei Matsumoto --- test/ocf/common.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/ocf/common.sh b/test/ocf/common.sh index 7bc8bcef5..970ec0575 100644 --- a/test/ocf/common.sh +++ b/test/ocf/common.sh @@ -13,15 +13,15 @@ function nvme_cfg() { function clear_nvme() { - bdf=$($rootdir/scripts/gen_nvme.sh --json | jq '.config[0].params.traddr' | sed s/\"//g) + mapfile -t bdf < <(iter_all_pci_class_code 01 08 02) # Clear metadata on NVMe device $rootdir/scripts/setup.sh reset sleep 5 - name=$(get_nvme_name_from_bdf $bdf) + + name=$(get_nvme_name_from_bdf "${bdf[0]}") mountpoints=$(lsblk /dev/$name --output MOUNTPOINT -n | wc -w) if [ "$mountpoints" != "0" ]; then - $rootdir/scripts/setup.sh exit 1 fi dd if=/dev/zero of=/dev/$name bs=1M count=1000 oflag=direct