xfs/140: work with 1k block size
authorChandan Rajendra <chandan@linux.vnet.ibm.com>
Mon, 8 Oct 2018 06:23:03 +0000 (11:53 +0530)
committerEryu Guan <guaneryu@gmail.com>
Sun, 21 Oct 2018 09:29:40 +0000 (17:29 +0800)
Commit 7a7641063ac3a7ae051c9e1959f4d7b1a25bb91c (xfs/140: work with 64k
block size) created a test filesystem with AG size set to (8192 * block
size). When working with a 1k block sized XFS filesystem, this tries to
set the AG size to 8MiB which is less than the minimum AG size of
16MiB. Hence creation of the filesystem had actually failed.

This commit fixes the issue by resetting AG size to 16MiB if (8192 *
block size) results in a value less than 16MiB. Later the test file size
and the test file block count are then appropriately calculated.

Reported-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/xfs/140

index c06a722aa145db92fb8ded7db0f92eeed56875d6..7385dc4254914059cc769df6681a14c1b0794148 100755 (executable)
@@ -39,16 +39,21 @@ _scratch_mount
 blksz=$(_get_file_block_size $SCRATCH_MNT)
 _scratch_unmount
 
+agsize=$((8192 * $blksz))
+if [[ $agsize -lt $((16 * 1024 * 1024)) ]]; then
+       agsize=$((16 * 1024 * 1024))
+fi
+sz=$((4096 * $blksz + $agsize))
+nr=$(($sz / $blksz))
+
 echo "Format and mount"
-_scratch_mkfs -d agsize=$((8192 * $blksz)) > $seqres.full 2>&1
+_scratch_mkfs -d agsize=$agsize > $seqres.full 2>&1
 _scratch_mount >> $seqres.full 2>&1
 
 testdir=$SCRATCH_MNT/test-$seq
 mkdir $testdir
 
 echo "Create the original files"
-nr=12288
-sz=$(($nr * $blksz))
 _pwrite_byte 0x61 0 $sz $testdir/file1 >> $seqres.full
 _cp_reflink $testdir/file1 $testdir/file2 >> $seqres.full
 _pwrite_byte 0x61 0 $sz $testdir/file2.chk >> $seqres.full