2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2011 Red Hat. All Rights Reserved.
7 # Test fs creation on 4 TB minus few bytes partition
10 _begin_fstest auto quick
12 # Override the default cleanup function.
18 # Import common functions.
21 # real QA test starts here
27 testfile=$TEST_DIR/259.image
29 # Test various sizes slightly less than 4 TB. Need to handle different
30 # minimum block sizes for CRC enabled filesystems, but use a small log so we
31 # don't write lots of zeros unnecessarily.
32 sizes_to_check="4096 2048 1024 512"
33 blocksizes="4096 2048 1024 512"
34 four_TB=$(_math "2^42")
35 # The initial value of _fs_has_crcs is not important, because we start testing
36 # with 4096 block size, it only matters for 512 block size test
38 for del in $sizes_to_check; do
39 for bs in $blocksizes; do
40 echo "Trying to make (4TB - ${del}B) long xfs, block size $bs"
41 # skip tests with 512 block size if the fs created has crc
43 if [ $_fs_has_crcs -eq 1 -a $bs -eq 512 ]; then
46 ddseek=$(_math "$four_TB - $del")
48 dd if=/dev/zero "of=$testfile" bs=1 count=0 seek=$ddseek \
49 >/dev/null 2>&1 || echo "dd failed"
51 losetup $lofile "$testfile"
52 $MKFS_XFS_PROG -l size=32m -b size=$bs $lofile | _filter_mkfs \
53 >/dev/null 2> $tmp.mkfs || echo "mkfs failed!"