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.
Signed-off-by: Joanne Chang <[email protected]> --- v1 -> v2: - changed title from "generic/735: disable for f2fs" - used a new helper function instead of _exclude_fs as Christoph Hellwig suggested common/rc | 16 ++++++++++++++++ tests/generic/735 | 1 + 2 files changed, 17 insertions(+) diff --git a/common/rc b/common/rc index c3cdc220..e92f4854 100644 --- a/common/rc +++ b/common/rc @@ -6120,6 +6120,22 @@ _require_file_attr_special() fi } +# Require filesystem to accomodate enough blocks in a file +_require_blocks_in_file() +{ + 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..2fbf125c 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_blocks_in_file $(( (1 << 32) - 1 )) dev_size=$((80 * 1024 * 1024)) _scratch_mkfs_sized $dev_size >>$seqres.full 2>&1 -- 2.52.0.322.g1dd061c0dc-goog _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
