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. common/loop_common 6*94c4a1e1SFrank Piva 7*94c4a1e1SFrank Pivaecho -e "\trun fio with kill ubq_deamon and delete(NOWAIT) ublk-loop test" 8*94c4a1e1SFrank Piva 9*94c4a1e1SFrank PivaBS=4k 10*94c4a1e1SFrank PivaRW=rw 11*94c4a1e1SFrank PivaJOBS=4 12*94c4a1e1SFrank PivaQUEUES=4 13*94c4a1e1SFrank PivaRT=$TRUNTIME 14*94c4a1e1SFrank PivaLOOPS=4 15*94c4a1e1SFrank PivaURING_COMP=1 16*94c4a1e1SFrank PivaNEED_GET_DATA=1 17*94c4a1e1SFrank PivaRECOVERY=0 18*94c4a1e1SFrank PivaRECOVERY_REISSUE=0 19*94c4a1e1SFrank Piva 20*94c4a1e1SFrank Piva 21*94c4a1e1SFrank Pivaublk_run_delete_test() 22*94c4a1e1SFrank Piva{ 23*94c4a1e1SFrank Piva for CNT in `seq $LOOPS`; do 24*94c4a1e1SFrank Piva export T_TYPE_PARAMS="-t loop -q $QUEUES -u $URING_COMP -g $NEED_GET_DATA -r $RECOVERY -i $RECOVERY_REISSUE -f $file" 25*94c4a1e1SFrank Piva 26*94c4a1e1SFrank Piva DEV=`__create_ublk_dev` 27*94c4a1e1SFrank Piva echo -e "\trun fio on $DEV(ublk add $T_TYPE_PARAMS) with deleting dev $CNT" 28*94c4a1e1SFrank Piva __run_fio_libaio $DEV $BS $RW $JOBS $RT > /dev/null 2 >& 1 & 29*94c4a1e1SFrank Piva sleep 2 30*94c4a1e1SFrank Piva queue_tid=`__ublk_get_queue_tid $DEV 0` 31*94c4a1e1SFrank Piva kill -9 $queue_tid 32*94c4a1e1SFrank Piva RES=`__remove_ublk_dev_return $DEV` 33*94c4a1e1SFrank Piva if [ $RES -ne 0 ]; then 34*94c4a1e1SFrank Piva echo -e "\tdelete $DEV failed" 35*94c4a1e1SFrank Piva ps -eLf | grep ublk 36*94c4a1e1SFrank Piva (cd /sys/kernel/debug/block/`basename $DEV` && find . -type f -exec grep -aH . {} \;) 37*94c4a1e1SFrank Piva break 38*94c4a1e1SFrank Piva fi 39*94c4a1e1SFrank Piva wait 40*94c4a1e1SFrank Piva done 41*94c4a1e1SFrank Piva} 42*94c4a1e1SFrank Piva 43*94c4a1e1SFrank Pivafile=`_create_loop_image "data" 1G` 44*94c4a1e1SFrank Piva 45*94c4a1e1SFrank PivaRECOVERY=1 46*94c4a1e1SFrank Pivafor RECOVERY_REISSUE in `seq 0 1`; do 47*94c4a1e1SFrank Piva ublk_run_delete_test 48*94c4a1e1SFrank Pivadone 49*94c4a1e1SFrank Piva 50*94c4a1e1SFrank Piva_remove_loop_image $file 51