xref: /aosp_15_r20/external/ublksrv/tests/qcow2/041 (revision 94c4a1e103eb1715230460aab379dff275992c20)
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