Re: [PATCH 1/1] xfs: test that the needsrepair feature works as advertised

Amir Goldstein
2021-04-21T06:01:19Z

On Wed, Apr 21, 2021 at 3:23 AM Darrick J. Wong <djwong@kernel.org> wrote:
>
> From: Darrick J. Wong <djwong@kernel.org>
>
> Make sure that the needsrepair feature flag can be cleared only by
> repair and that mounts are prohibited when the feature is set.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> common/xfs | 28 ++++++++++++++++++
> tests/xfs/768 | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++
> tests/xfs/768.out | 4 +++
> tests/xfs/770 | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> tests/xfs/770.out | 2 +
> tests/xfs/group | 2 +
> 6 files changed, 199 insertions(+)
> create mode 100755 tests/xfs/768
> create mode 100644 tests/xfs/768.out
> create mode 100755 tests/xfs/770
> create mode 100644 tests/xfs/770.out
>
>
> diff --git a/common/xfs b/common/xfs
> index 887bd001..c2384146 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -312,6 +312,13 @@ _scratch_xfs_check()
> _xfs_check $SCRATCH_OPTIONS $* $SCRATCH_DEV
> }
>
> +_require_libxfs_debug_flag() {
> + local hook="$1"
> +
> + grep -q LIBXFS_DEBUG_WRITE_CRASH "$(type -P xfs_repair)" || \
> + _notrun "libxfs debug hook $hook not detected?"

You ignored the $hook arg.
And this is a bit of a strange test.
In _require_unionmount_testsuite() I also pass env vars to the test utility
and I made it so the usage message will print the non empty env vars
passed to the programm.

I can understand if nothing like that was done for xfs_repair and you want
this test to work with an already released version of xfs_repair, but if that
test is against a pre-released version of xfs_repair, I suggest to make it
more friendly for _require check.

Thanks,
Amir.