On Tue 27-04-21 09:43:54, Amir Goldstein wrote: > 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? Good question. I had accidentally defined valid SCRATCH_DEV from the previous test. tmpfs didn't use it but it was enough to make tests like these pass. Honza > > > 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 > > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR