various: replace _get_block_size with _get_file_block_size when needed
authorDarrick J. Wong <darrick.wong@oracle.com>
Tue, 27 Oct 2020 19:01:56 +0000 (12:01 -0700)
committerEryu Guan <guaneryu@gmail.com>
Sun, 8 Nov 2020 09:22:06 +0000 (17:22 +0800)
The _get_file_block_size helper was added so that tests could find out
the size of a fundamental unit of allocation for a given file, which is
necessary for certain fallocate and clonerange tests.

On certain filesystem configurations (ocfs2 with clusters, xfs with a
large rt extent size), this is /not/ the same as the filesystem block
size, and these tests will fail.  Fix them to use the correct helper.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/xfs/328

index 9b17b6a..26325b4 100755 (executable)
@@ -48,7 +48,7 @@ mkdir "$testdir"
 # 2^10 blocks... that should be plenty for anyone.
 fnr=$((12 + LOAD_FACTOR))
 free_blocks=$(stat -f -c '%a' "$testdir")
-blksz=$(_get_block_size $testdir)
+blksz=$(_get_file_block_size $testdir)
 space_avail=$((free_blocks * blksz))
 calc_space()
 {