From: Joanne Chang Date: Thu, 8 Jan 2026 02:25:01 +0000 (+0000) Subject: common/rc: add _require_max_file_range_blocks helper X-Git-Tag: v2026.02.26~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=66c8f2df3f3a8803c05336fff4c3ae3048b468b1;p=xfstests-dev.git common/rc: add _require_max_file_range_blocks helper generic/735 attempts to create a file with nearly 2^32 blocks. However, some filesystems have a maximum file block limit below this threshold. For instance, F2FS is limited to approximately 2^30 blocks due to the capacity of the inode. So add _require_blocks_in_file helper to skip the test in such cases. The helper uses a hardcoded constant instead of a programmatic method, so that bugs which affect the maximum file size are not masked. Signed-off-by: Joanne Chang Reviewed-by: Chao Yu Reviewed-by: Zorro Lang Signed-off-by: Zorro Lang --- diff --git a/common/rc b/common/rc index 92cb6982..fd4ca964 100644 --- a/common/rc +++ b/common/rc @@ -6133,6 +6133,22 @@ _require_file_attr_special() fi } +# Require filesystem to accomodate enough blocks in a file +_require_max_file_range_blocks() +{ + local blocks=$1 + + case $FSTYP in + f2fs) + if [ $blocks -gt 1057053439 ]; then + _notrun "$blocks blocks per file not supported on $FSTYP" + fi + ;; + *) + ;; + esac +} + ################################################################################ # make sure this script returns success /bin/true diff --git a/tests/generic/735 b/tests/generic/735 index 9bbdf3a1..60fa3dce 100755 --- a/tests/generic/735 +++ b/tests/generic/735 @@ -22,6 +22,7 @@ fi _require_odirect _require_xfs_io_command "falloc" _require_xfs_io_command "finsert" +_require_max_file_range_blocks $(( (1 << 32) - 1 )) dev_size=$((80 * 1024 * 1024)) _scratch_mkfs_sized $dev_size >>$seqres.full 2>&1