From: Su Yue Date: Mon, 29 Jan 2024 23:51:04 +0000 (+0800) Subject: common/rc: improve block_size support for bcachefs X-Git-Tag: v2024.02.09~24 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=79e87ccf207fc6cd1478599118aca045dae983fa;p=xfstests-dev.git common/rc: improve block_size support for bcachefs 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 Reviewed-by: Brian Foster Reviewed-by: Zorro Lang Signed-off-by: Zorro Lang --- diff --git a/common/rc b/common/rc index 355d452e..aa35c9bd 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"