1#!/bin/bash 2# SPDX-License-Identifier: MIT or GPL-2.0-only 3 4. common/fio_common 5 6echo -e "\trun fio with kill ubq_deamon" 7 8BS=4k 9RW=rw 10JOBS=4 11QUEUES=2 12RT=$TRUNTIME 13LOOPS=4 14URING_COMP=1 15NEED_GET_DATA=1 16 17ublk_run_abort_test() 18{ 19 for CNT in `seq $LOOPS`; do 20 export T_TYPE_PARAMS="-t null -q $QUEUES -u $URING_COMP -g $NEED_GET_DATA" 21 DEV=`__create_ublk_dev` 22 echo -e "\trun fio with killing $DEV(ublk add $T_TYPE_PARAMS) queue daemon $CNT" 23 __run_fio_libaio $DEV $BS $RW $JOBS $RT > /dev/null 2 >& 1 & 24 sleep 2 25 queue_tid=`__ublk_get_queue_tid $DEV 0` 26 kill -9 $queue_tid 27 sleep 2 28 secs=0 29 while [ $secs -lt 30 ]; do 30 state=`__ublk_get_dev_state $DEV` 31 [ "$state" == "DEAD" ] && break 32 sleep 1 33 let secs++ 34 done 35 [ "$state" != "DEAD" ] && echo "device isn't dead after killing queue daemon" && exit -1 36 RES=`__remove_ublk_dev_return $DEV` 37 if [ $RES -ne 0 ]; then 38 echo -e "\tdelete $DEV failed" 39 exit -1 40 fi 41 wait 42 done 43} 44 45for NEED_GET_DATA in `seq 0 1`; do 46 ublk_run_abort_test 47done 48