fstests: Fix block device requirements and manual scratch mounts

Some tests require the scratch volume to be a block device,
although they don't do anything block device specific like
the device mapper tests. They actually only require a local
device and fail with network or overlay pseudo mount devices.

The same tests also try to mount the scratch device manually
after running _scratch_mkfs. For UBIFS, _scratch_mkfs simply
truncates the UBI volume and relies on the kernel to re-format
the volume on the next mount. This fails if the fs type is not
specified explicitly when mounting.

This patch replaces the block device requirement with a
generic check for a local device and adds a filesystem
specification to all manual mounts of the scratch device
to a mount point.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
David Oberhollenzer
2017-06-07 10:20:47 +02:00
committed by Eryu Guan
parent 62de87749a
commit 1cc2487f50
4 changed files with 14 additions and 14 deletions
+1 -1
View File
@@ -56,7 +56,7 @@ _supported_fs generic
_supported_os IRIX Linux _supported_os IRIX Linux
_require_scratch _require_scratch
_require_block_device $SCRATCH_DEV _require_local_device $SCRATCH_DEV
echo "*** init fs" echo "*** init fs"
+4 -4
View File
@@ -64,7 +64,7 @@ _supported_fs generic
_supported_os Linux _supported_os Linux
_require_test _require_test
_require_scratch _require_scratch
_require_block_device $SCRATCH_DEV _require_local_device $SCRATCH_DEV
fs_stress() fs_stress()
{ {
@@ -114,7 +114,7 @@ start_test()
local type=$1 local type=$1
_scratch_mkfs >$seqres.full 2>&1 _scratch_mkfs >$seqres.full 2>&1
_get_mount $SCRATCH_DEV $MNTHEAD _get_mount -t $FSTYP $SCRATCH_DEV $MNTHEAD
$MOUNT_PROG --make-"${type}" $MNTHEAD $MOUNT_PROG --make-"${type}" $MNTHEAD
mkdir $mpA $mpB $mpC $mpD mkdir $mpA $mpB $mpC $mpD
} }
@@ -133,7 +133,7 @@ bind_run()
start_test $dest start_test $dest
echo "bind $source on $dest" echo "bind $source on $dest"
_get_mount $SCRATCH_DEV $mpA _get_mount -t $FSTYP $SCRATCH_DEV $mpA
mkdir -p $mpA/dir 2>/dev/null mkdir -p $mpA/dir 2>/dev/null
$MOUNT_PROG --make-shared $mpA $MOUNT_PROG --make-shared $mpA
_get_mount --bind $mpA $mpB _get_mount --bind $mpA $mpB
@@ -147,7 +147,7 @@ bind_run()
fi fi
_get_mount --bind $mpC $mpD _get_mount --bind $mpC $mpD
for m in $mpA $mpB $mpC $mpD; do for m in $mpA $mpB $mpC $mpD; do
_get_mount $SCRATCH_DEV $m/dir _get_mount -t $FSTYP $SCRATCH_DEV $m/dir
fs_stress $m/dir fs_stress $m/dir
find_mnt find_mnt
_put_mount _put_mount
+4 -4
View File
@@ -72,7 +72,7 @@ _supported_fs generic
_supported_os Linux _supported_os Linux
_require_test _require_test
_require_scratch _require_scratch
_require_block_device $SCRATCH_DEV _require_local_device $SCRATCH_DEV
fs_stress() fs_stress()
{ {
@@ -120,7 +120,7 @@ start_test()
local type=$1 local type=$1
_scratch_mkfs >$seqres.full 2>&1 _scratch_mkfs >$seqres.full 2>&1
_get_mount $SCRATCH_DEV $MNTHEAD _get_mount -t $FSTYP $SCRATCH_DEV $MNTHEAD
$MOUNT_PROG --make-"${type}" $MNTHEAD $MOUNT_PROG --make-"${type}" $MNTHEAD
mkdir $mpA $mpB $mpC mkdir $mpA $mpB $mpC
} }
@@ -143,7 +143,7 @@ run()
start_test private start_test private
echo "make-$cmd a $orgs mount" echo "make-$cmd a $orgs mount"
_get_mount $SCRATCH_DEV $mpA _get_mount -t $FSTYP $SCRATCH_DEV $mpA
mkdir -p $mpA/dir 2>/dev/null mkdir -p $mpA/dir 2>/dev/null
$MOUNT_PROG --make-shared $mpA $MOUNT_PROG --make-shared $mpA
@@ -165,7 +165,7 @@ run()
find_mnt find_mnt
else else
for m in $mpA $mpB $mpC; do for m in $mpA $mpB $mpC; do
_get_mount $SCRATCH_DEV $m/dir _get_mount -t $FSTYP $SCRATCH_DEV $m/dir
fs_stress $m/dir fs_stress $m/dir
find_mnt find_mnt
_put_mount _put_mount
+5 -5
View File
@@ -53,7 +53,7 @@ _supported_fs generic
_supported_os Linux _supported_os Linux
_require_test _require_test
_require_scratch _require_scratch
_require_block_device $SCRATCH_DEV _require_local_device $SCRATCH_DEV
fs_stress() fs_stress()
{ {
@@ -103,7 +103,7 @@ start_test()
local type=$1 local type=$1
_scratch_mkfs >$seqres.full 2>&1 _scratch_mkfs >$seqres.full 2>&1
_get_mount $SCRATCH_DEV $MNTHEAD _get_mount -t $FSTYP $SCRATCH_DEV $MNTHEAD
$MOUNT_PROG --make-"${type}" $MNTHEAD $MOUNT_PROG --make-"${type}" $MNTHEAD
mkdir $mpA $mpB $mpC mkdir $mpA $mpB $mpC
} }
@@ -125,17 +125,17 @@ crash_test()
{ {
start_test shared start_test shared
_get_mount $SCRATCH_DEV $mpA _get_mount -t $FSTYP $SCRATCH_DEV $mpA
mkdir $mpA/mnt1 mkdir $mpA/mnt1
$MOUNT_PROG --make-shared $mpA $MOUNT_PROG --make-shared $mpA
_get_mount --bind $mpA $mpB _get_mount --bind $mpA $mpB
_get_mount --bind $mpA $mpC _get_mount --bind $mpA $mpC
$MOUNT_PROG --make-slave $mpB $MOUNT_PROG --make-slave $mpB
$MOUNT_PROG --make-slave $mpC $MOUNT_PROG --make-slave $mpC
_get_mount $SCRATCH_DEV $mpA/mnt1 _get_mount -t $FSTYP $SCRATCH_DEV $mpA/mnt1
mkdir $mpA/mnt1/mnt2 mkdir $mpA/mnt1/mnt2
_get_mount $SCRATCH_DEV $mpB/mnt1/mnt2 _get_mount -t $FSTYP $SCRATCH_DEV $mpB/mnt1/mnt2
find_mnt find_mnt
fs_stress $mpB/mnt1/mnt2 fs_stress $mpB/mnt1/mnt2