Re: [PATCH v2 1/2] fstests: introduce MKFS_BCACHEFS_PROG for bcachefs

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Wed, Jan 17, 2024 at 05:23:08PM +0800, Su Yue wrote:
> mkfs.bcachefs supports force overwrite when option '-f' is given:
> $ mkfs.bcachefs --help | grep force
>   -f, --force
> 
> There are some tests which call _scratch_mkfs multiple times
> e.g. tests/generic/171. Without '-f' in MKFS_OPTIONS,
> these tests just hang in overwrite confirmation.
> After this commit, MKFS_BCACHEFS_PROG will contains ' -f' so
> we don't have to add '-f' to MKFS_OPTIONS manually to make
> these tests pass.
> 
> It also fixes generic/466 which unsets MKFS_OPTIONS causing
> that test hangs in mfks.bcachefs waiting for confirmation of
> the force overwrite.
> 
> Signed-off-by: Su Yue <glass.su@xxxxxxxx>
> ---
> changelog:
> v2:
>     Add more details about why MKFS_BCACHEFS_PROG should contain '-f'.
> ---
>  common/config |  3 ++-
>  common/rc     | 12 +++++++++---
>  2 files changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/common/config b/common/config
> index c9771ff934cb..1f9edceec57a 100644
> --- a/common/config
> +++ b/common/config
> @@ -105,7 +105,7 @@ set_mkfs_prog_path_with_opts()
>  	# Note: mkfs.f2fs doesn't support the --help option yet, but it doesn't
>  	# matter since it also prints the help when an invalid option is given.
>  	if [ "$p" != "" ] && \
> -		$p --help |& grep -q "[[:space:]]-f[[:space:]|]"; then
> +		$p --help |& grep -q "[[:space:]]-f[[:space:]|,]"; then
>  		echo "$p -f"
>  	else
>  		echo $p
> @@ -313,6 +313,7 @@ export MKFS_REISER4_PROG=$(type -P mkfs.reiser4)
>  export E2FSCK_PROG=$(type -P e2fsck)
>  export TUNE2FS_PROG=$(type -P tune2fs)
>  export FSCK_OVERLAY_PROG=$(type -P fsck.overlay)
> +export MKFS_BCACHEFS_PROG=$(set_mkfs_prog_path_with_opts bcachefs)
>  
>  # SELinux adds extra xattrs which can mess up our expected output.
>  # So, mount with a context, and they won't be created.
> diff --git a/common/rc b/common/rc
> index 524ffa02aa6a..31c21d2a8360 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -611,6 +611,9 @@ _test_mkfs()
>      xfs)
>  	$MKFS_PROG -t $FSTYP -- -f $MKFS_OPTIONS $* $TEST_DEV
>  	;;
> +    bcachefs)
> +    $MKFS_BCACHEFS_PROG $MKFS_OPTIONS $* $TEST_DEV > /dev/null

Whitespace looks off on this line, but I suppose the maintainer can fix
that up if desired. That aside this LGTM:

Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>

> +	;;
>      *)
>  	yes | $MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS $* $TEST_DEV
>  	;;
> @@ -753,6 +756,10 @@ _scratch_mkfs()
>  		mkfs_cmd="yes | $MKFS_PROG -t $FSTYP --"
>  		mkfs_filter="grep -v -e ^mkfs\.ocfs2"
>  		;;
> +    bcachefs)
> +		mkfs_cmd="$MKFS_BCACHEFS_PROG"
> +		mkfs_filter="cat"
> +		;;
>  	*)
>  		mkfs_cmd="yes | $MKFS_PROG -t $FSTYP --"
>  		mkfs_filter="cat"
> @@ -1044,7 +1051,7 @@ _scratch_mkfs_sized()
>  		export MOUNT_OPTIONS="-o size=$fssize $TMPFS_MOUNT_OPTIONS"
>  		;;
>  	bcachefs)
> -		$MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS --fs_size=$fssize --block_size=$blocksize $SCRATCH_DEV
> +		$MKFS_BCACHEFS_PROG $MKFS_OPTIONS --fs_size=$fssize --block_size=$blocksize $SCRATCH_DEV
>  		;;
>  	*)
>  		_notrun "Filesystem $FSTYP not supported in _scratch_mkfs_sized"
> @@ -1128,8 +1135,7 @@ _scratch_mkfs_blocksized()
>  						-C $blocksize $SCRATCH_DEV
>  		;;
>  	bcachefs)
> -		${MKFS_PROG} -t $FSTYP $MKFS_OPTIONS --block_size=$blocksize \
> -								$SCRATCH_DEV
> +		_scratch_mkfs --block_size=$blocksize
>  		;;
>  	udf)
>  		_scratch_mkfs -b $blocksize
> -- 
> 2.43.0
> 





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux