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