aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSu Yue <glass.su@suse.com>2024-01-30 07:51:03 +0800
committerZorro Lang <zlang@kernel.org>2024-02-05 14:21:21 +0800
commitf836422ec228506f2397cc9fa89fbe15c94a4df9 (patch)
tree0bd68f764d1eed1fbc30550b0fa0c606072531c6
parentc46ca4d1f6c0c45f9a3ea18bc31ba5ae89e02c70 (diff)
downloadxfstests-dev-f836422ec228506f2397cc9fa89fbe15c94a4df9.tar.gz
fstests: introduce MKFS_BCACHEFS_PROG for bcachefs
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>
-rw-r--r--common/config3
-rw-r--r--common/rc12
2 files changed, 11 insertions, 4 deletions
diff --git a/common/config b/common/config
index c9771ff934..1f9edceec5 100644
--- a/common/config
+++ b/common/config
@@ -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.
diff --git a/common/rc b/common/rc
index 524ffa02aa..355d452e83 100644
--- 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