On Tue, Jan 30, 2024 at 07:51:04AM +0800, Su Yue wrote: > 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. > --- This LGTM, appreciate the tweaks and discussion: Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> > 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 >