3 testdir
=$
(readlink
-f $
(dirname $0))
4 rootdir
=$
(readlink
-f $testdir/..
/..
/..
)
5 source $rootdir/test
/common
/autotest_common.sh
6 source $rootdir/test
/nvmf
/common.sh
11 rpc_py
="$rootdir/scripts/rpc.py"
15 function nvmf_filesystem_create
() {
19 make_filesystem
${fstype} /dev
/${nvme_name}p1
21 mount
/dev
/${nvme_name}p1
/mnt
/device
28 while ! umount
/mnt
/device
; do
29 [ $i -lt 15 ] ||
break
34 # Make sure the target did not crash
37 # Make sure the device is still present
38 lsblk
-l -o NAME |
grep -q -w "${nvme_name}"
40 # Make sure the partition is still present
41 lsblk
-l -o NAME |
grep -q -w "${nvme_name}p1"
44 function nvmf_filesystem_part
() {
49 $rpc_py nvmf_create_transport
$NVMF_TRANSPORT_OPTS -u 8192 -c $incapsule
50 $rpc_py bdev_malloc_create
$MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc1
51 $rpc_py nvmf_create_subsystem nqn
.2016-06.io.spdk
:cnode1
-a -s $NVMF_SERIAL
52 $rpc_py nvmf_subsystem_add_ns nqn
.2016-06.io.spdk
:cnode1 Malloc1
53 $rpc_py nvmf_subsystem_add_listener nqn
.2016-06.io.spdk
:cnode1
-t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
55 nvme connect
-t $TEST_TRANSPORT -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
57 waitforserial
"$NVMF_SERIAL"
58 nvme_name
=$
(lsblk
-l -o NAME
,SERIAL |
grep -oP "([\w]*)(?=\s+${NVMF_SERIAL})")
62 parted
-s /dev
/${nvme_name} mklabel msdos mkpart primary
'0%' '100%'
66 if [ $incapsule -eq 0 ]; then
67 run_test
"filesystem_ext4" nvmf_filesystem_create
"ext4" ${nvme_name}
68 run_test
"filesystem_btrfs" nvmf_filesystem_create
"btrfs" ${nvme_name}
69 run_test
"filesystem_xfs" nvmf_filesystem_create
"xfs" ${nvme_name}
71 run_test
"filesystem_incapsule_ext4" nvmf_filesystem_create
"ext4" ${nvme_name}
72 run_test
"filesystem_incapsule_btrfs" nvmf_filesystem_create
"btrfs" ${nvme_name}
73 run_test
"filesystem_incapsule_xfs" nvmf_filesystem_create
"xfs" ${nvme_name}
76 parted
-s /dev
/${nvme_name} rm 1
79 nvme disconnect
-n "nqn.2016-06.io.spdk:cnode1" || true
81 $rpc_py nvmf_delete_subsystem nqn
.2016-06.io.spdk
:cnode1
83 trap - SIGINT SIGTERM EXIT
89 run_test
"nvmf_filesystem_no_incapsule" nvmf_filesystem_part
0
90 run_test
"nvmf_filesystem_incapsule" nvmf_filesystem_part
4096