]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
common/rc: improve block_size support for bcachefs
authorSu Yue <glass.su@suse.com>
Mon, 29 Jan 2024 23:51:04 +0000 (07:51 +0800)
committerZorro Lang <zlang@kernel.org>
Mon, 5 Feb 2024 06:21:21 +0000 (14:21 +0800)
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>
common/rc

index 355d452e83e24dcb5c871eb31e68f850790252cc..aa35c9bd7405fa3768080bd79aaf3cad8e5db419 100644 (file)
--- 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"