diff options
author | Andrey Albershteyn <aalbersh@redhat.com> | 2023-09-11 22:06:17 +0200 |
---|---|---|
committer | Zorro Lang <zlang@kernel.org> | 2023-09-20 15:49:54 +0800 |
commit | 566fc79138eff6bc4bda5d63962bbcb1e366e684 (patch) | |
tree | b8e8b4c48abf00d602d213380b7eaec7a9989154 | |
parent | f738aca836ad4f6b96673831f28613d8105b5fba (diff) | |
download | xfstests-dev-566fc79138eff6bc4bda5d63962bbcb1e366e684.tar.gz |
common/rc: make _get_max_file_size find file size on mount point
Currently, _get_max_file_size finds max file size on $TEST_DIR.
The tests/generic/692 uses this function to detect file size and
then tries to create a file on $SCRATCH_MNT.
This works fine when test and scratch filesystems have the same
block size. However, it will fail if they differ.
Make _get_max_file_size accept mount point on which to detect max
file size.
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Zorro Lang <zlang@kernel.org>
-rw-r--r-- | common/rc | 8 | ||||
-rwxr-xr-x | tests/generic/299 | 2 | ||||
-rwxr-xr-x | tests/generic/485 | 2 | ||||
-rwxr-xr-x | tests/generic/692 | 2 |
4 files changed, 10 insertions, 4 deletions
@@ -4828,7 +4828,13 @@ _require_scratch_feature() # be UINT32_MAX * block_size, but other filesystems may allow up to LLONG_MAX. _get_max_file_size() { - local testfile=$TEST_DIR/maxfilesize.$seq + if [ -z $1 ] || [ ! -d $1 ]; then + echo "Missing mount point argument for _get_max_file_size" + exit 1 + fi + + local mnt=$1 + local testfile=$mnt/maxfilesize.$seq local l=0 local r=9223372036854775807 # LLONG_MAX diff --git a/tests/generic/299 b/tests/generic/299 index d8ecff5384..0cd122029a 100755 --- a/tests/generic/299 +++ b/tests/generic/299 @@ -30,7 +30,7 @@ NUM_JOBS=$((4*LOAD_FACTOR)) BLK_DEV_SIZE=`blockdev --getsz $SCRATCH_DEV` FILE_SIZE=$((BLK_DEV_SIZE * 512)) -max_file_size=$(_get_max_file_size) +max_file_size=$(_get_max_file_size $TEST_DIR) if [ $max_file_size -lt $FILE_SIZE ]; then FILE_SIZE=$max_file_size fi diff --git a/tests/generic/485 b/tests/generic/485 index 3f7749ffd1..8bab450ba3 100755 --- a/tests/generic/485 +++ b/tests/generic/485 @@ -30,7 +30,7 @@ _require_xfs_io_command "finsert" _require_xfs_io_command "truncate" block_size=$(_get_file_block_size $TEST_DIR) -max_file_size=$(_get_max_file_size) +max_file_size=$(_get_max_file_size $TEST_DIR) max_blocks=$((max_file_size / block_size)) testfile=$TEST_DIR/testfile.$seq diff --git a/tests/generic/692 b/tests/generic/692 index 95f6ec04a4..3fb8ac01af 100755 --- a/tests/generic/692 +++ b/tests/generic/692 @@ -40,7 +40,7 @@ _scratch_mount fsv_file=$SCRATCH_MNT/file.fsv -max_sz=$(_get_max_file_size) +max_sz=$(_get_max_file_size $SCRATCH_MNT) _fsv_scratch_begin_subtest "way too big: fail on first merkle block" truncate -s $max_sz $fsv_file _fsv_enable $fsv_file |& _filter_scratch |