From: Su Yue <glass.su@xxxxxxxx> mkfs.bcachefs now supports option '--block_size' to allow custom block_size. Add the pattern to set def_blksz if MKFS_OPTIONS contains the option in _scratch_mkfs_sized. Also let mkfs.bcachefs decide blocksize if no option is given in MKFS_OPTIONS or _scratch_mkfs_sized parameter. Signed-off-by: Su Yue <glass.su@xxxxxxxx> --- changelog: v4: Respect block_size in MKFS_OPTIONS. v3: Add logic to Let mkfs.bcachefs decide blocksize if no option is given in local.config or _scratch_mkfs_sized parameter. v2: Born. --- common/rc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/common/rc b/common/rc index 31c21d2a8360..315a2413f963 100644 --- a/common/rc +++ b/common/rc @@ -930,6 +930,7 @@ _scratch_mkfs_sized() local fssize=$1 local blocksize=$2 local def_blksz + local blocksize_opt case $FSTYP in xfs) @@ -950,6 +951,13 @@ _scratch_mkfs_sized() jfs) def_blksz=4096 ;; + bcachefs) + def_blksz=`echo $MKFS_OPTIONS | sed -rn 's/.*(--block_size)[ =]?+([0-9]+).*/\2/p'` + [ -n "$blocksize" ] && blocksize_opt="--block_size=$blocksize" + [ -n "$def_blksize" ] && blocksize_opt="--block_size=$def_blksize" + # If no block size is given by local.confg or parameter, blocksize_opt is empty. + # Let MKFS_BCACHEFS_PROG decide block size on its own. + ;; esac [ -n "$def_blksz" ] && blocksize=$def_blksz @@ -1051,7 +1059,7 @@ _scratch_mkfs_sized() export MOUNT_OPTIONS="-o size=$fssize $TMPFS_MOUNT_OPTIONS" ;; bcachefs) - $MKFS_BCACHEFS_PROG $MKFS_OPTIONS --fs_size=$fssize --block_size=$blocksize $SCRATCH_DEV + $MKFS_BCACHEFS_PROG $MKFS_OPTIONS --fs_size=$fssize $blocksize_opt $SCRATCH_DEV ;; *) _notrun "Filesystem $FSTYP not supported in _scratch_mkfs_sized" -- 2.43.0