Files
apfstests/tests/xfs/259
T
Darrick J. Wong 7e98d41a6e fstests: move test group info to test files
Refactor every test in the entire test suite to use the new boilerplate
functions.  This also migrates all the test group information into the
test files.  This patch has been autogenerated via the command:

./tools/convert-group btrfs ceph cifs ext4 f2fs generic nfs ocfs2 overlay perf shared udf xfs

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2021-06-27 22:50:02 +08:00

62 lines
1.5 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2011 Red Hat. All Rights Reserved.
#
# FS QA Test No. 259
#
# Test fs creation on 4 TB minus few bytes partition
#
. ./common/preamble
_begin_fstest auto quick
# Override the default cleanup function.
_cleanup()
{
rm -f "$testfile"
}
# Import common functions.
. ./common/filter
# real QA test starts here
_supported_fs xfs
_require_test
_require_loop
_require_math
testfile=$TEST_DIR/259.image
# Test various sizes slightly less than 4 TB. Need to handle different
# minimum block sizes for CRC enabled filesystems, but use a small log so we
# don't write lots of zeros unnecessarily.
sizes_to_check="4096 2048 1024 512"
blocksizes="4096 2048 1024 512"
four_TB=$(_math "2^42")
# The initial value of _fs_has_crcs is not important, because we start testing
# with 4096 block size, it only matters for 512 block size test
_fs_has_crcs=0
for del in $sizes_to_check; do
for bs in $blocksizes; do
echo "Trying to make (4TB - ${del}B) long xfs, block size $bs"
# skip tests with 512 block size if the fs created has crc
# enabled by default
if [ $_fs_has_crcs -eq 1 -a $bs -eq 512 ]; then
break;
fi
ddseek=$(_math "$four_TB - $del")
rm -f "$testfile"
dd if=/dev/zero "of=$testfile" bs=1 count=0 seek=$ddseek \
>/dev/null 2>&1 || echo "dd failed"
lofile=$(losetup -f)
losetup $lofile "$testfile"
$MKFS_XFS_PROG -l size=32m -b size=$bs $lofile | _filter_mkfs \
>/dev/null 2> $tmp.mkfs || echo "mkfs failed!"
. $tmp.mkfs
sync
losetup -d $lofile
done
done
status=0
exit