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