Message ID | 20240117092309.1134595-1-glass.su@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/2] fstests: introduce MKFS_BCACHEFS_PROG for bcachefs | expand |
On Wed, Jan 17, 2024 at 05:23:08PM +0800, Su Yue wrote: > 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> > --- > changelog: > v2: > Add more details about why MKFS_BCACHEFS_PROG should contain '-f'. > --- > common/config | 3 ++- > common/rc | 12 +++++++++--- > 2 files changed, 11 insertions(+), 4 deletions(-) > > diff --git a/common/config b/common/config > index c9771ff934cb..1f9edceec57a 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 524ffa02aa6a..31c21d2a8360 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 Whitespace looks off on this line, but I suppose the maintainer can fix that up if desired. That aside this LGTM: Reviewed-by: Brian Foster <bfoster@redhat.com> > + ;; > *) > 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 > -- > 2.43.0 >
diff --git a/common/config b/common/config index c9771ff934cb..1f9edceec57a 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 524ffa02aa6a..31c21d2a8360 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
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> --- changelog: v2: Add more details about why MKFS_BCACHEFS_PROG should contain '-f'. --- common/config | 3 ++- common/rc | 12 +++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-)