]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/test/nvmf/target/filesystem.sh
import 15.2.0 Octopus source
[ceph.git] / ceph / src / spdk / test / nvmf / target / filesystem.sh
1 #!/usr/bin/env bash
2
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
7
8 MALLOC_BDEV_SIZE=64
9 MALLOC_BLOCK_SIZE=512
10
11 rpc_py="$rootdir/scripts/rpc.py"
12
13 set -e
14
15 timing_enter fs_test
16
17 nvmftestinit
18
19 for incapsule in 0 4096; do
20 nvmfappstart "-m 0xF"
21
22 $rpc_py nvmf_create_transport -t $TEST_TRANSPORT -u 8192 -c $incapsule
23
24 $rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc1
25 $rpc_py nvmf_subsystem_create nqn.2016-06.io.spdk:cnode1 -a -s SPDK00000000000001
26 $rpc_py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode1 Malloc1
27 $rpc_py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode1 -t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
28
29 nvme connect -t $TEST_TRANSPORT -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
30
31 waitforblk "nvme0n1"
32
33 mkdir -p /mnt/device
34
35 devs=`lsblk -l -o NAME | grep nvme`
36
37 for dev in $devs; do
38 timing_enter parted
39 parted -s /dev/$dev mklabel msdos mkpart primary '0%' '100%'
40 timing_exit parted
41 sleep 1
42
43 for fstype in "ext4" "btrfs" "xfs"; do
44 timing_enter $fstype
45 if [ $fstype = ext4 ]; then
46 force=-F
47 else
48 force=-f
49 fi
50
51 mkfs.${fstype} $force /dev/${dev}p1
52
53 mount /dev/${dev}p1 /mnt/device
54 touch /mnt/device/aaa
55 sync
56 rm /mnt/device/aaa
57 sync
58 umount /mnt/device
59 timing_exit $fstype
60 done
61
62 parted -s /dev/$dev rm 1
63 done
64
65 sync
66 nvme disconnect -n "nqn.2016-06.io.spdk:cnode1" || true
67
68 $rpc_py delete_nvmf_subsystem nqn.2016-06.io.spdk:cnode1
69
70 trap - SIGINT SIGTERM EXIT
71
72 nvmfcleanup
73 killprocess $nvmfpid
74 done
75
76 nvmftestfini
77 timing_exit fs_test