1*94c4a1e1SFrank Piva#!/bin/bash 2*94c4a1e1SFrank Piva# SPDX-License-Identifier: GPL-2.0 3*94c4a1e1SFrank Piva 4*94c4a1e1SFrank Piva. common/fio_common 5*94c4a1e1SFrank Piva. common/qcow2_common 6*94c4a1e1SFrank Piva 7*94c4a1e1SFrank Pivaecho "run fs randwrite with verify over ublk-qcow2" 8*94c4a1e1SFrank Piva 9*94c4a1e1SFrank Pivafile=`_create_qcow2_image "null" $QCOW2_IMG_SZ` 10*94c4a1e1SFrank Piva 11*94c4a1e1SFrank PivaQUEUES=1 12*94c4a1e1SFrank PivaURING_COMP=0 13*94c4a1e1SFrank PivaNEED_GET_DATA=0 14*94c4a1e1SFrank Piva 15*94c4a1e1SFrank Pivaexport T_TYPE_PARAMS="-t qcow2 -q $QUEUES -u $URING_COMP -g $NEED_GET_DATA -f $file" 16*94c4a1e1SFrank Pivaecho -e "\trun fio(fs randwrite with verify) over ublk($T_TYPE_PARAMS)" 17*94c4a1e1SFrank Piva 18*94c4a1e1SFrank PivaDEV=`__create_ublk_dev` 19*94c4a1e1SFrank Piva 20*94c4a1e1SFrank PivaMNT=`mktemp -d` 21*94c4a1e1SFrank Piva 22*94c4a1e1SFrank Pivamkfs.xfs -f $DEV > /dev/null 2>&1 23*94c4a1e1SFrank Pivamount $DEV $MNT > /dev/null 2>&1 24*94c4a1e1SFrank Piva 25*94c4a1e1SFrank Pivafio --size=128M --bsrange=4k-128k --runtime=20 --numjobs=12 --ioengine=libaio \ 26*94c4a1e1SFrank Piva --iodepth=64 --iodepth_batch_submit=16 --iodepth_batch_complete_min=16 \ 27*94c4a1e1SFrank Piva --directory=$MNT --group_reporting=1 --unlink=0 \ 28*94c4a1e1SFrank Piva --direct=1 --fsync=0 --name=f1 --stonewall \ 29*94c4a1e1SFrank Piva --overwrite=1 --rw=randwrite --verify=md5 > /dev/null 2>&1 30*94c4a1e1SFrank Pivaumount $MNT > /dev/null 2>&1 31*94c4a1e1SFrank Piva 32*94c4a1e1SFrank PivaRES=`__remove_ublk_dev_return $DEV` 33*94c4a1e1SFrank Pivaif [ $RES -ne 0 ]; then 34*94c4a1e1SFrank Piva echo -e "\tdelete ublk0 failed" 35*94c4a1e1SFrank Piva exit -1 36*94c4a1e1SFrank Pivafi 37*94c4a1e1SFrank Piva 38*94c4a1e1SFrank Piva_remove_qcow2_image $file 39*94c4a1e1SFrank Piva 40*94c4a1e1SFrank Pivarm -fr $MNT 41