• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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