]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/test/nvme/spdk_nvme_cli.sh
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / spdk / test / nvme / spdk_nvme_cli.sh
1 #!/usr/bin/env bash
2
3 set -ex
4
5 testdir=$(readlink -f $(dirname $0))
6 rootdir=$(readlink -f $testdir/../..)
7 source $rootdir/scripts/common.sh
8 source $rootdir/test/common/autotest_common.sh
9
10 if [ -z "${DEPENDENCY_DIR}" ]; then
11 echo DEPENDENCY_DIR not defined!
12 exit 1
13 fi
14
15 spdk_nvme_cli="${DEPENDENCY_DIR}/nvme-cli"
16
17 if [ ! -d $spdk_nvme_cli ]; then
18 echo "nvme-cli repository not found at $spdk_nvme_cli; skipping tests."
19 exit 0
20 fi
21
22 timing_enter nvme_cli
23
24 if [ `uname` = Linux ]; then
25 start_stub "-s 2048 -i 0 -m 0xF"
26 trap "kill_stub; exit 1" SIGINT SIGTERM EXIT
27 fi
28
29 # Build against the version of SPDK under test
30 rm -f "$spdk_nvme_cli/spdk"
31 ln -sf "$rootdir" "$spdk_nvme_cli/spdk"
32
33 bdfs=$(iter_pci_class_code 01 08 02)
34 bdf=$(echo $bdfs|awk '{ print $1 }')
35
36 cd $spdk_nvme_cli
37 make clean && make -j$(nproc) LDFLAGS="$(make -s -C $spdk_nvme_cli/spdk ldflags)"
38 sed -i 's/spdk=0/spdk=1/g' spdk.conf
39 sed -i 's/shm_id=1/shm_id=0/g' spdk.conf
40 ./nvme list
41 ./nvme id-ctrl $bdf
42 ./nvme list-ctrl $bdf
43 ./nvme get-ns-id $bdf
44 ./nvme id-ns $bdf
45 ./nvme fw-log $bdf
46 ./nvme smart-log $bdf
47 ./nvme error-log $bdf
48 ./nvme list-ns $bdf -n 1
49 ./nvme get-feature $bdf -n 1 -f 1 -s 1 -l 100
50 ./nvme get-log $bdf -n 1 -i 1 -l 100
51 ./nvme reset $bdf
52 if [ `uname` = Linux ]; then
53 trap - SIGINT SIGTERM EXIT
54 kill_stub
55 fi
56
57 report_test_completion spdk_nvme_cli
58 timing_exit nvme_cli