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