public inbox for fstests@vger.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Joanne Chang <joannechien@google.com>
Cc: Zorro Lang <zlang@kernel.org>,
	fstests@vger.kernel.org, Jaegeuk Kim <jaegeuk@kernel.org>,
	linux-f2fs-devel@lists.sourceforge.net, Chao Yu <chao@kernel.org>,
	Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH v3] common/rc: add _require_blocks_in_file helper
Date: Fri, 9 Jan 2026 17:38:02 -0800	[thread overview]
Message-ID: <20260110013802.GB15541@frogsfrogsfrogs> (raw)
In-Reply-To: <20260108022501.754320-1-joannechien@google.com>

On Thu, Jan 08, 2026 at 02:25:01AM +0000, Joanne Chang wrote:
> 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.

Not to mention trying to create a file with 1,057,053,439 blocks
allocated to it would probably take forever.

Hang on, we're talking about iblocks (aka the number of blocks allocated
to this inode), not the maximum file size in blocks, right?

If so, then maybe this function and its comments should
s/blocks/iblocks/?  Or am I confused? ;)

--D

> Signed-off-by: Joanne Chang <joannechien@google.com>
> ---
> v2 -> v3: 
> - added explanation for using constants to commit message
> 
> 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.351.gbe84eed79e-goog
> 
> 

  reply	other threads:[~2026-01-10  1:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-08  2:25 [PATCH v3] common/rc: add _require_blocks_in_file helper Joanne Chang
2026-01-10  1:38 ` Darrick J. Wong [this message]
2026-01-12  3:20   ` Joanne Chang
2026-02-08 19:50     ` Zorro Lang
2026-02-09  1:53       ` Darrick J. Wong
2026-02-09  3:54         ` Zorro Lang
2026-02-09  5:55           ` Joanne Chang
2026-01-23  4:08 ` Chao Yu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260110013802.GB15541@frogsfrogsfrogs \
    --to=djwong@kernel.org \
    --cc=chao@kernel.org \
    --cc=fstests@vger.kernel.org \
    --cc=hch@infradead.org \
    --cc=jaegeuk@kernel.org \
    --cc=joannechien@google.com \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=zlang@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox