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 <joannechien@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Zorro Lang <zlang@kernel.org>
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
_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