Re: [PATCH 1/2 v2] Add checks for hard links support.

Dave Chinner
2015-08-30T23:44:10Z

On Fri, Aug 28, 2015 at 01:25:00PM +0300, Ari Sundholm wrote:
> From: Ari Sundholm <ari@tuxera.com>
>
> There are filesystems that do not support hard links that we want to run
> xfstests on. Add a function for checking for support and use it wherever
> hard links are used.

As I've already pointed out, all of the filesystems that xfstests
supports have working hardlinks, so this is a test that will never
fail for anyone running xfstests on supported filesystems.

Also, I'm left to wonder what kernel filesystem supports
journaling but does not support hardlinks (as noted by the number of
tests you change that have "_require_metadata_journaling"). Why
aren't you also posting the patches to support the filesystem that
requires this "don't use hardlinks" patch?

And FWIW:

> +_require_test_hardlinks()
> +{
> + target=`mktemp -p $TEST_DIR`
> + link=`mktemp -p $TEST_DIR -u`
> + ln `basename $target` $link
> + if [ "$?" -ne 0 ]; then
> + rm -f $target
> + _notrun "Require hardlinks support"
> + fi
> + rm -f $target $link
> +}

You check for support on the TEST_DEV, but ...

> diff --git a/tests/generic/039 b/tests/generic/039
> index 4bbfc50..367a6d0 100755
> --- a/tests/generic/039
> +++ b/tests/generic/039
> @@ -55,6 +55,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
> _supported_fs generic
> _supported_os Linux
> _need_to_be_root
> +_require_test_hardlinks
> _require_scratch
> _require_dm_flakey
> _require_metadata_journaling $SCRATCH_DEV

All but two of the tests you've added this check to make hard links
on the SCRATCH_DEV, which can have a different configuration to the
TEST_DEV.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com