]> www.infradead.org Git - users/hch/xfstests-dev.git/commitdiff
fstests: introduce MKFS_BCACHEFS_PROG for bcachefs
authorSu Yue <glass.su@suse.com>
Mon, 29 Jan 2024 23:51:03 +0000 (07:51 +0800)
committerZorro Lang <zlang@kernel.org>
Mon, 5 Feb 2024 06:21:21 +0000 (14:21 +0800)
mkfs.bcachefs supports force overwrite when option '-f' is given:
$ mkfs.bcachefs --help | grep force
  -f, --force

There are some tests which call _scratch_mkfs multiple times
e.g. tests/generic/171. Without '-f' in MKFS_OPTIONS,
these tests just hang in overwrite confirmation.
After this commit, MKFS_BCACHEFS_PROG will contains ' -f' so
we don't have to add '-f' to MKFS_OPTIONS manually to make
these tests pass.

It also fixes generic/466 which unsets MKFS_OPTIONS causing
that test hangs in mfks.bcachefs waiting for confirmation of
the force overwrite.

Signed-off-by: Su Yue <glass.su@suse.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Zorro Lang <zlang@kernel.org>
common/config
common/rc

index c9771ff934cb6302c43eb4f2ef7a9cc06a1fb8ca..1f9edceec57a19f4d6bb454b22e38d1910156fa9 100644 (file)
@@ -105,7 +105,7 @@ set_mkfs_prog_path_with_opts()
        # Note: mkfs.f2fs doesn't support the --help option yet, but it doesn't
        # matter since it also prints the help when an invalid option is given.
        if [ "$p" != "" ] && \
-               $p --help |& grep -q "[[:space:]]-f[[:space:]|]"; then
+               $p --help |& grep -q "[[:space:]]-f[[:space:]|,]"; then
                echo "$p -f"
        else
                echo $p
@@ -313,6 +313,7 @@ export MKFS_REISER4_PROG=$(type -P mkfs.reiser4)
 export E2FSCK_PROG=$(type -P e2fsck)
 export TUNE2FS_PROG=$(type -P tune2fs)
 export FSCK_OVERLAY_PROG=$(type -P fsck.overlay)
+export MKFS_BCACHEFS_PROG=$(set_mkfs_prog_path_with_opts bcachefs)
 
 # SELinux adds extra xattrs which can mess up our expected output.
 # So, mount with a context, and they won't be created.
index 524ffa02aa6a863e6f4683f2e542033885db84d9..355d452e83e24dcb5c871eb31e68f850790252cc 100644 (file)
--- a/common/rc
+++ b/common/rc
@@ -611,6 +611,9 @@ _test_mkfs()
     xfs)
        $MKFS_PROG -t $FSTYP -- -f $MKFS_OPTIONS $* $TEST_DEV
        ;;
+    bcachefs)
+       $MKFS_BCACHEFS_PROG $MKFS_OPTIONS $* $TEST_DEV > /dev/null
+       ;;
     *)
        yes | $MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS $* $TEST_DEV
        ;;
@@ -753,6 +756,10 @@ _scratch_mkfs()
                mkfs_cmd="yes | $MKFS_PROG -t $FSTYP --"
                mkfs_filter="grep -v -e ^mkfs\.ocfs2"
                ;;
+    bcachefs)
+               mkfs_cmd="$MKFS_BCACHEFS_PROG"
+               mkfs_filter="cat"
+               ;;
        *)
                mkfs_cmd="yes | $MKFS_PROG -t $FSTYP --"
                mkfs_filter="cat"
@@ -1044,7 +1051,7 @@ _scratch_mkfs_sized()
                export MOUNT_OPTIONS="-o size=$fssize $TMPFS_MOUNT_OPTIONS"
                ;;
        bcachefs)
-               $MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS --fs_size=$fssize --block_size=$blocksize $SCRATCH_DEV
+               $MKFS_BCACHEFS_PROG $MKFS_OPTIONS --fs_size=$fssize --block_size=$blocksize $SCRATCH_DEV
                ;;
        *)
                _notrun "Filesystem $FSTYP not supported in _scratch_mkfs_sized"
@@ -1128,8 +1135,7 @@ _scratch_mkfs_blocksized()
                                                -C $blocksize $SCRATCH_DEV
                ;;
        bcachefs)
-               ${MKFS_PROG} -t $FSTYP $MKFS_OPTIONS --block_size=$blocksize \
-                                                               $SCRATCH_DEV
+               _scratch_mkfs --block_size=$blocksize
                ;;
        udf)
                _scratch_mkfs -b $blocksize