3 testdir
=$
(readlink
-f $
(dirname $0))
4 rootdir
=$
(readlink
-f $testdir/..
/..
/..
)
5 source $rootdir/test
/common
/autotest_common.sh
6 source $rootdir/test
/iscsi_tgt
/common.sh
15 rpc_py
="$rootdir/scripts/rpc.py"
16 fio_py
="$rootdir/scripts/fio.py"
18 timing_enter iscsi_pmem
20 timing_enter start_iscsi_target
21 $ISCSI_APP -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
23 echo "Process pid: $pid"
25 trap "iscsicleanup; killprocess $pid; rm -f /tmp/pool_file*; exit 1" SIGINT SIGTERM EXIT
28 $rpc_py set_iscsi_options
-o 30 -a 16
29 $rpc_py start_subsystem_init
30 echo "iscsi_tgt is listening. Running tests..."
31 timing_exit start_iscsi_target
34 $rpc_py add_portal_group
$PORTAL_TAG $TARGET_IP:$ISCSI_PORT
35 for i
in $
(seq 1 $TGT_NR); do
36 INITIATOR_TAG
=$
((i
+ 1))
37 $rpc_py add_initiator_group
$INITIATOR_TAG $INITIATOR_NAME $NETMASK
40 for j
in $
(seq 1 $PMEM_PER_TGT); do
41 $rpc_py create_pmem_pool
/tmp
/pool_file
${i}_
${j} $PMEM_SIZE $PMEM_BLOCK_SIZE
42 bdevs_name
="$($rpc_py construct_pmem_bdev -n pmem${i}_${j} /tmp/pool_file${i}_${j})"
43 PMEM_BDEVS
+="$bdevs_name "
44 luns
+="$bdevs_name:$((j - 1)) "
46 $rpc_py construct_target_node Target
$i Target
${i}_alias
"$luns" "1:$INITIATOR_TAG " 256 -d
51 timing_enter discovery
52 iscsiadm
-m discovery
-t sendtargets
-p $TARGET_IP:$ISCSI_PORT
53 iscsiadm
-m node
--login -p $TARGET_IP:$ISCSI_PORT
57 $fio_py -p iscsi
-i $BLOCKSIZE -d 64 -t randwrite
-r $RUNTIME -v
62 for pmem
in $PMEM_BDEVS; do
63 $rpc_py delete_pmem_bdev
$pmem
66 for i
in $
(seq 1 $TGT_NR); do
67 for c
in $
(seq 1 $PMEM_PER_TGT); do
68 $rpc_py delete_pmem_pool
/tmp
/pool_file
${i}_
${c}
72 trap - SIGINT SIGTERM EXIT
77 report_test_completion
"nightly_iscsi_pmem"
78 timing_exit iscsi_pmem