The test case generic/361 fails on multiple filesystem implementations due to two issues: 1. A file is created on a 512 MB volume by truncating it to 1 GB. For this to work, the filesystem implementation must support sparse files. However, the test case does not check for sparse file support. 2. A loop device, backed by the 1 GB file, is created, mkfs is run on it and it is mounted. However, the mount command does not specify the filesystem type. This doesn't always work properly, as the kernel may pick the wrong driver if there are multiple implementations for a particular filesystem, or not find a driver at all in some cases. To fix the behavior of the test case, this commit adds a requirement for sparse file support to the test case, and explicitly specifies the filesystem type as $FSTYP when mounting the loop device. Signed-off-by: Ari Sundholm <ari@xxxxxxxxxx> --- tests/generic/361 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/generic/361 b/tests/generic/361 index 173a1a51..d76d2635 100755 --- a/tests/generic/361 +++ b/tests/generic/361 @@ -30,6 +30,7 @@ _supported_fs generic _require_scratch _require_block_device $SCRATCH_DEV _require_loop +_require_sparse_files # create a small filesystem to hold another filesystem image _scratch_mkfs_sized $((512 * 1024 * 1024)) >>$seqres.full 2>&1 @@ -44,7 +45,7 @@ mkdir -p $fs_mnt # mount loop device and create a larger file to hit I/O errors on loop device loop_dev=$(_create_loop_device $fs_img) _mkfs_dev $loop_dev -_mount $loop_dev $fs_mnt +_mount -t $FSTYP $loop_dev $fs_mnt if [ "$FSTYP" = "xfs" ]; then # Turn off all XFS metadata IO error retries dname=$(_short_dev $loop_dev) -- 2.25.1