aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSu Yue <glass.su@suse.com>2024-01-30 07:51:04 +0800
committerZorro Lang <zlang@kernel.org>2024-02-05 14:21:21 +0800
commit79e87ccf207fc6cd1478599118aca045dae983fa (patch)
tree79e850bddb67b848f14d4388b69efdb5cc033a30
parentf836422ec228506f2397cc9fa89fbe15c94a4df9 (diff)
downloadxfstests-dev-79e87ccf207fc6cd1478599118aca045dae983fa.tar.gz
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 <glass.su@suse.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Zorro Lang <zlang@kernel.org>
-rw-r--r--common/rc10
1 files changed, 9 insertions, 1 deletions
diff --git a/common/rc b/common/rc
index 355d452e83..aa35c9bd74 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"