From: Chandan Rajendra Date: Thu, 22 Feb 2018 05:58:55 +0000 (+0530) Subject: common/rc: Fix fcollapse require code to work with 64k block size X-Git-Tag: v2022.05.01~1641 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6702176b93404db6efc1ed6ea8ac4075df2f949f;p=users%2Fhch%2Fxfstests-dev.git common/rc: Fix fcollapse require code to work with 64k block size For 64k block size, the require code fails because the block range [4k, 12k] would cause the fcollapse syscall to return -EINVAL. Hence the tests using them are not executed. This commit fixes the issue by calculating file offset ranges based on the block size of the underlying filesystem. Signed-off-by: Chandan Rajendra Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/common/rc b/common/rc index 51dc9f762..a68e6cc0d 100644 --- a/common/rc +++ b/common/rc @@ -2113,8 +2113,10 @@ _require_xfs_io_command() param_checked=1 ;; "fpunch" | "fcollapse" | "zero" | "fzero" | "finsert" | "funshare") - testio=`$XFS_IO_PROG -F -f -c "pwrite 0 20k" -c "fsync" \ - -c "$command 4k 8k" $testfile 2>&1` + local blocksize=$(_get_block_size $TEST_DIR) + testio=`$XFS_IO_PROG -F -f -c "pwrite 0 $((5 * $blocksize))" \ + -c "fsync" -c "$command $blocksize $((2 * $blocksize))" \ + $testfile 2>&1` ;; "fiemap") # If 'ranged' is passed as argument then we check to see if fiemap supports