Re: [PATCH] common/rc: avoid mixed mode for zoned btrfs

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



Looks good.

Reviewed-by: Naohiro Aota <naohiro.aota@xxxxxxx>

On Tue, Feb 22, 2022 at 01:19:08PM +0900, Shin'ichiro Kawasaki wrote:
> When the helper function _scratch_mkfs_sized is called with small
> filesystem size and FSTYP=btrfs, it calls mkfs.btrfs with --mixed option
> to enable mixed mode. However, mkfs.btrfs with --mixed option fails for
> zoned block devices since btrfs does not support mixed mode together
> with zoned mode. To avoid this failure, do not set --mixed option when
> the scratch device is a zoned block device.
> 
> Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx>
> ---
> This is the left work of the series posted before [1]. Reposted as a single
> patch.
> 
> Change from the previous post:
> * Keep change minimum btrfs device size as 256MiB.
> 
> [1] https://lore.kernel.org/fstests/20220221110254.y2yb7xdlf22ahh7k@shindev/
> 
>  common/rc | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/common/rc b/common/rc
> index e2d3d72a..d326572f 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -1078,10 +1078,10 @@ _scratch_mkfs_sized()
>  		;;
>  	btrfs)
>  		local mixed_opt=
> -		# minimum size that's needed without the mixed option.
> -		# Ref: btrfs-prog: btrfs_min_dev_size()
> -		# Non mixed mode is also the default option.
> -		(( fssize < $((256 * 1024 *1024)) )) && mixed_opt='--mixed'
> +		# Mixed option is required when the filesystem size is small and
> +		# the device is not zoned. Ref: btrfs-progs: btrfs_min_dev_size()
> +		(( fssize < $((256 * 1024 * 1024)) )) &&
> +			! _scratch_btrfs_is_zoned && mixed_opt='--mixed'
>  		$MKFS_BTRFS_PROG $MKFS_OPTIONS $mixed_opt -b $fssize $SCRATCH_DEV
>  		;;
>  	jfs)
> -- 
> 2.34.1
> 



[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