]> www.infradead.org Git - users/hch/xfstests-dev.git/commitdiff
xfs/443: use file allocation unit, not dbsize
authorDarrick J. Wong <djwong@kernel.org>
Thu, 21 Nov 2024 00:27:30 +0000 (16:27 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 23 Jan 2025 21:19:58 +0000 (13:19 -0800)
We can only punch in units of file allocation boundaries, so update this
test to use that instead of the fs blocksize.

Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
tests/xfs/443

index 8db51a834d094e6ee83f3ae292d9acdaa2d8cb27..0e3c6519a3c0f7602a6274b2f5f3afd100e04584 100755 (executable)
@@ -38,14 +38,15 @@ _scratch_mount
 
 file1=$SCRATCH_MNT/file1
 file2=$SCRATCH_MNT/file2
+file_blksz=$(_get_file_block_size $SCRATCH_MNT)
 
 # The goal is run an extent swap where one of the associated files has the
 # minimum number of extents to remain in btree format. First, create a couple
 # files with large enough extent counts (200 or so should be plenty) to ensure
 # btree format on the largest possible inode size filesystems.
-$XFS_IO_PROG -fc "falloc 0 $((400 * dbsize))" $file1
+$XFS_IO_PROG -fc "falloc 0 $((400 * file_blksz))" $file1
 $here/src/punch-alternating $file1
-$XFS_IO_PROG -fc "falloc 0 $((400 * dbsize))" $file2
+$XFS_IO_PROG -fc "falloc 0 $((400 * file_blksz))" $file2
 $here/src/punch-alternating $file2
 
 # Now run an extent swap at every possible extent count down to 0. Depending on
@@ -53,12 +54,12 @@ $here/src/punch-alternating $file2
 # btree format.
 for i in $(seq 1 2 399); do
        # punch one extent from the tmpfile and swap
-       $XFS_IO_PROG -c "fpunch $((i * dbsize)) $dbsize" $file2
+       $XFS_IO_PROG -c "fpunch $((i * file_blksz)) $file_blksz" $file2
        $XFS_IO_PROG -c "exchangerange $file2" $file1
 
        # punch the same extent from the old fork (now in file2) to resync the
        # extent counts and repeat
-       $XFS_IO_PROG -c "fpunch $((i * dbsize)) $dbsize" $file2
+       $XFS_IO_PROG -c "fpunch $((i * file_blksz)) $file_blksz" $file2
 done
 
 # sanity check that no extents are left over