Re: [PATCH v2 2/2] common/rc: improve block size support for bcachefs

Brian Foster
2024-01-17T17:53:48Z

On Wed, Jan 17, 2024 at 05:23:09PM +0800, Su Yue wrote:
> For bcachefs, def_blksz is never assigned even MKFS_OPTIONS contains option
> '--block_size'. So block size of bcachefs on scratch dev is always 4096
> if _scratch_mkfs_sized is called without second parameter.
>
> Add the pattern to set def_blksz if '--block_size' is given in MKFS_OPTIONS.
>
> Signed-off-by: Su Yue <glass.su@suse.com>
> ---
> changelog:
> v2:
> Born.
> ---
> common/rc | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/common/rc b/common/rc
> index 31c21d2a8360..6a01de69cf05 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -950,6 +950,9 @@ _scratch_mkfs_sized()
> jfs)
> def_blksz=4096
> ;;
> + bcachefs)
> + def_blksz=`echo $MKFS_OPTIONS | sed -rn 's/.*(--block_size)[ =]?+([0-9]+).*/\2/p'`
> + ;;

So if the default bcachefs block size is 512b, I wonder if this should
do something like what the udf branch does a few lines above and
override the hardcoded default of 4k. ISTM this whole thing would be
more robust if it just elided the param in the default cases and let the
associated mkfs tool use its own default, but that's probably a separate
issue. Hm?

Brian

> esac
>
> [ -n "$def_blksz" ] && blocksize=$def_blksz
> --
> 2.43.0
>