1#!/bin/bash 2# SPDX-License-Identifier: MIT or GPL-2.0-only 3 4. common/fio_common 5. common/loop_common 6. common/qcow2_common 7. common/nbd_common 8 9ublk_run_mount_test() 10{ 11 local dev=`__create_ublk_dev` 12 local mnt=$1 13 14 ROOT_FSTYPE=`findmnt -l -o FSTYPE -n /` 15 echo -n -e "\tmount/umount $dev(ublk $T_TYPE_PARAMS) with fstype($ROOT_FSTYPE)..." 16 17 18 wipefs -a $dev > /dev/null 2>&1 19 eval mkfs.${ROOT_FSTYPE} $dev > /dev/null 2>&1 20 21 mount $dev $mnt > /dev/null 2>&1 22 23 UBLK_FSTYPE=`findmnt -l -o FSTYPE -n $mnt` 24 if [ "$UBLK_FSTYPE" = "$ROOT_FSTYPE" ]; then 25 echo "ok" 26 else 27 echo "failed" 28 fi 29 umount $mnt > /dev/null 2>&1 30 31 __remove_ublk_dev $dev 32} 33 34ublk_run_mount_type() 35{ 36 local type=$1 37 local mnt=$2 38 local queues=1 39 local dev=/dev/ublkb0 40 41 [ ${type} == "loop" ] && queues=2 42 43 file=`_create_image $type "null" 1G` 44 45 for NEED_GET_DATA in `seq 0 1`; do 46 if [ "$type" == "nbd" ]; then 47 export T_TYPE_PARAMS="-t $type -q $queues -g $NEED_GET_DATA -d 127 --host $NBDSRV" 48 else 49 export T_TYPE_PARAMS="-t $type -q $queues -g $NEED_GET_DATA -f $file" 50 fi 51 ublk_run_mount_test $mnt 52 done 53 _remove_image ${type} $file 54} 55 56MNT=`mktemp -d` 57 58for TYPE in "loop" "qcow2" "nbd"; do 59 ublk_run_mount_type $TYPE $MNT 60done 61 62rm -fr $MNT 63