Re: [PATCH 2/2] Don't run tests that require block devices for virtual filesystems

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



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
>



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux