mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
7e98d41a6e
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>
62 lines
1.5 KiB
Bash
Executable File
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
|