Re: [PATCH 1/2] generic/740: set env for mkfs.exfat

Christoph Hellwig <[email protected]> Fri, 19 Jun 2026 06:53:06 +0200
Newsgroups org.kernel.vger.fstests
Message-ID <[email protected]>
On Fri, Jun 19, 2026 at 04:22:35AM +0900, David Timber wrote:
> Foreign filesystem detection is added in exfatprogs version 1.4.1. To
> maintain backward compatibility, mkfs.exfat refuses to format the device
> only when it's run from terminal with a tty associated to it.
> 
> This is similar to how e2fsprogs work around the issue. However,
> with exfatprogs, this behaviour can be overridden with the special
> environment variable EXFAT_TTY_OVERRIDE to simulate shell invocation by
> user.
> 
> Signed-off-by: David Timber <[email protected]>
> ---
>  tests/generic/740 | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/generic/740 b/tests/generic/740
> index ce55200f..4f8bf099 100755
> --- a/tests/generic/740
> +++ b/tests/generic/740
> @@ -28,6 +28,18 @@ _require_block_device "${SCRATCH_DEV}"
>  # not all the FS support zoned block device
>  _require_non_zoned_device "${SCRATCH_DEV}"
>  
> +mkfs_preop=""
> +mkfs_preargs=""
> +mkfs_postargs=""
> +
> +case "$FSTYP" in
> +exfat)
> +	# For backward compatibility, mkfs.exfat refuses to format only when run
> +	# from a tty. This env var should override the behaviour if supported.
> +	mkfs_preop="EXFAT_TTY_OVERRIDE=1"
> +	;;
> +esac
> +
>  echo "Silence is golden."
>  for fs in `echo ${MKFS_PROG}.* | sed -e "s:${MKFS_PROG}.::g"`
>  do
> @@ -83,7 +95,8 @@ do
>  		# next, ensure we don't overwrite it
>  
>  		echo "=== Attempting $FSTYP overwrite of $fs..." >>$seqres.full
> -		${MKFS_PROG} -t $FSTYP $SCRATCH_DEV >>$seqres.full 2>&1
> +		eval $mkfs_preop ${MKFS_PROG} -t $FSTYP $mkfs_preargs $SCRATCH_DEV $mkfs_postargs \

breaking up the long line still would be nice here, i.e. keep at 80
characters.  Else looks good.