On Mon, Apr 26, 2021 at 11:50 PM Jan Kara <jack@xxxxxxx> wrote: > > Some tests require block device based filesystems (e.g. because they > setup dm device in a particular way). These tests then fail for tmpfs in I don't understand. _require_dm_target has: # require SCRATCH_DEV to be a valid block device with sane BLKFLSBUF # behaviour _require_block_device $SCRATCH_DEV _require_sane_bdev_flush $SCRATCH_DEV and generic/563 has explicit _require_block_device Why does tmpfs pass these checks? > unusual ways (usually trying to call mkfs.tmpfs). Annotate these tests > as requiring block device based filesystem so that we gracefully exit > with _notrun. Also there's no point in simulating successful _mkfs_dev > for such filesystems since the test is unlikely to test anything > sensible. So delete that workaround from _mkfs_dev. > > Signed-off-by: Jan Kara <jack@xxxxxxx> > --- > common/rc | 28 +++++++++++++--------------- > tests/generic/081 | 2 +- > tests/generic/347 | 2 +- > tests/generic/459 | 2 +- > tests/generic/470 | 2 +- > tests/generic/500 | 2 +- > tests/generic/563 | 2 +- > tests/generic/620 | 2 +- > 8 files changed, 20 insertions(+), 22 deletions(-) > > diff --git a/common/rc b/common/rc > index 2dd1b8ad9e35..aa51ccea0be2 100644 > --- a/common/rc > +++ b/common/rc > @@ -677,21 +677,6 @@ _mkfs_dev() > { > local tmp=`mktemp -u` > case $FSTYP in > - nfs*) > - # do nothing for nfs > - ;; > - 9p) > - # do nothing for 9p > - ;; > - virtiofs) > - # do nothing for virtiofs > - ;; > - overlay) > - # do nothing for overlay > - ;; > - pvfs2) > - # do nothing for pvfs2 > - ;; > udf) > $MKFS_UDF_PROG $MKFS_OPTIONS $* 2>$tmp.mkfserr 1>$tmp.mkfsstd > ;; > @@ -1469,6 +1454,19 @@ _supported_fs() > then > return > fi > + if [ "$f" = "blkdev" ] > + then > + case $FSTYP in > + nfs*) > + 9p) > + virtiofs) > + overlay) > + pvfs2) > + tmpfs) > + break > + ;; > + esac > + fi > done > > _notrun "not suitable for this filesystem type: $FSTYP" > diff --git a/tests/generic/081 b/tests/generic/081 > index 5dff079852d3..3800a8cf9ef3 100755 > --- a/tests/generic/081 > +++ b/tests/generic/081 > @@ -49,7 +49,7 @@ _cleanup() > . ./common/filter > > # real QA test starts here > -_supported_fs generic > +_supported_fs blkdev > _require_test > _require_scratch_nocheck > _require_dm_target snapshot > diff --git a/tests/generic/347 b/tests/generic/347 > index cbc5150a3e54..693f2f8d5ec3 100755 > --- a/tests/generic/347 > +++ b/tests/generic/347 > @@ -56,7 +56,7 @@ _workout() > . ./common/rc > . ./common/dmthin > > -_supported_fs generic > +_supported_fs blkdev > _require_scratch_nocheck > _require_dm_target thin-pool > > diff --git a/tests/generic/459 b/tests/generic/459 > index a0b1507c28e4..6b37a4f2f056 100755 > --- a/tests/generic/459 > +++ b/tests/generic/459 > @@ -43,7 +43,7 @@ _cleanup() > > # This tests for filesystem lockup not consistency, so don't check for fs > # consistency after test > -_supported_fs generic > +_supported_fs blkdev > _require_scratch_nocheck > _require_dm_target thin-pool > _require_dm_target snapshot > diff --git a/tests/generic/470 b/tests/generic/470 > index d925affe60cf..36d047edf1c0 100755 > --- a/tests/generic/470 > +++ b/tests/generic/470 > @@ -34,7 +34,7 @@ _cleanup() > rm -f $seqres.full > > # real QA test starts here > -_supported_fs generic > +_supported_fs blkdev > _require_scratch_nocheck > _require_log_writes_dax_mountopt "dax" > _require_dm_target thin-pool > diff --git a/tests/generic/500 b/tests/generic/500 > index 085ddbf3d906..11599e786c41 100755 > --- a/tests/generic/500 > +++ b/tests/generic/500 > @@ -44,7 +44,7 @@ _cleanup() > rm -f $seqres.full > > # real QA test starts here > -_supported_fs generic > +_supported_fs blkdev > _require_scratch_nocheck > _require_dm_target thin-pool > > diff --git a/tests/generic/563 b/tests/generic/563 > index fe7394c0910c..c0cf9e9e7c97 100755 > --- a/tests/generic/563 > +++ b/tests/generic/563 > @@ -41,7 +41,7 @@ rm -f $seqres.full > # real QA test starts here > > # Modify as appropriate. > -_supported_fs generic > +_supported_fs blkdev > _require_scratch_nocheck > _require_cgroup2 io > _require_loop > diff --git a/tests/generic/620 b/tests/generic/620 > index 605594419d6c..6c80849f6457 100755 > --- a/tests/generic/620 > +++ b/tests/generic/620 > @@ -40,7 +40,7 @@ _cleanup() > rm -f $seqres.full > > # Modify as appropriate. > -_supported_fs generic > +_supported_fs blkdev > _require_scratch_size_nocheck $((4 * 1024 * 1024)) #kB > _require_scratch_16T_support > _require_dmhugedisk > -- > 2.26.2 >