a1280c9878
Similarly replace PCI_BLACKLIST with PCI_BLOCKED. Use of ALLOWED/BLOCKED matches similar changes made in DPDK. While here, replace use of term "blacklist" with "blocked" in one of the nvme perf scripts. The usage there was associated with how devices are blocked by using the environment variables that are changed by this patch. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I720d99118ba5e050f436612c9fd415db44294a63 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5275 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
81 lines
2.4 KiB
Bash
Executable File
81 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
rootdir=$(readlink -f $testdir/../..)
|
|
source $rootdir/test/common/autotest_common.sh
|
|
source $testdir/common.sh
|
|
|
|
rpc_py=$rootdir/scripts/rpc.py
|
|
|
|
function at_ftl_exit() {
|
|
# restore original driver
|
|
PCI_ALLOWED="$device" PCI_BLOCKED="" DRIVER_OVERRIDE="$ocssd_original_dirver" $rootdir/scripts/setup.sh
|
|
}
|
|
|
|
read -r device _ <<< "$OCSSD_PCI_DEVICES"
|
|
|
|
if [[ -z "$device" ]]; then
|
|
echo "OCSSD device list is empty."
|
|
echo "This test require that OCSSD_PCI_DEVICES environment variable to be set"
|
|
echo "and point to OCSSD devices PCI BDF. You can specify multiple space"
|
|
echo "separated BDFs in this case first one will be used."
|
|
exit 1
|
|
fi
|
|
|
|
ocssd_original_dirver="$(basename $(readlink /sys/bus/pci/devices/$device/driver))"
|
|
|
|
trap 'at_ftl_exit' SIGINT SIGTERM EXIT
|
|
|
|
# OCSSD is blocked so bind it to vfio/uio driver before testing
|
|
PCI_ALLOWED="$device" PCI_BLOCKED="" DRIVER_OVERRIDE="" $rootdir/scripts/setup.sh
|
|
|
|
# Use first regular NVMe disk (non-OC) as non-volatile cache
|
|
nvme_disks=$($rootdir/scripts/gen_nvme.sh | jq -r \
|
|
".config[] | select(.params.traddr != \"$device\").params.traddr")
|
|
|
|
for disk in $nvme_disks; do
|
|
if has_separate_md $disk; then
|
|
nv_cache=$disk
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ -z "$nv_cache" ]; then
|
|
# TODO: once CI has devices with separate metadata support fail the test here
|
|
echo "Couldn't find NVMe device to be used as non-volatile cache"
|
|
fi
|
|
|
|
run_test "ftl_bdevperf" $testdir/bdevperf.sh $device
|
|
run_test "ftl_bdevperf_append" $testdir/bdevperf.sh $device --use_append
|
|
|
|
run_test "ftl_restore" $testdir/restore.sh $device
|
|
if [ -n "$nv_cache" ]; then
|
|
run_test "ftl_restore_nv_cache" $testdir/restore.sh -c $nv_cache $device
|
|
fi
|
|
|
|
if [ -n "$nv_cache" ]; then
|
|
run_test "ftl_dirty_shutdown" $testdir/dirty_shutdown.sh -c $nv_cache $device
|
|
fi
|
|
|
|
run_test "ftl_json" $testdir/json.sh $device
|
|
|
|
if [ $SPDK_TEST_FTL_EXTENDED -eq 1 ]; then
|
|
run_test "ftl_fio_basic" $testdir/fio.sh $device basic
|
|
|
|
"$SPDK_BIN_DIR/spdk_tgt" --json <(gen_ftl_nvme_conf) &
|
|
svcpid=$!
|
|
|
|
trap 'killprocess $svcpid; exit 1' SIGINT SIGTERM EXIT
|
|
|
|
waitforlisten $svcpid
|
|
|
|
$rpc_py bdev_nvme_attach_controller -b nvme0 -a $device -t pcie
|
|
$rpc_py bdev_ocssd_create -c nvme0 -b nvme0n1 -n 1
|
|
uuid=$($rpc_py bdev_ftl_create -b ftl0 -d nvme0n1 | jq -r '.uuid')
|
|
killprocess $svcpid
|
|
|
|
trap - SIGINT SIGTERM EXIT
|
|
|
|
run_test "ftl_fio_extended" $testdir/fio.sh $device extended $uuid
|
|
fi
|