On Tue, Apr 30, 2024 at 02:29:03PM +0200, Andrey Albershteyn wrote: > On 2024-04-29 20:41:50, Darrick J. Wong wrote: > > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > > > Create a basic test to ensure that xfs_scrub media scans complain about > > files that don't pass fsverity validation. > > > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > > --- > > tests/xfs/1880 | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > > tests/xfs/1880.out | 37 ++++++++++++++ > > 2 files changed, 172 insertions(+) > > create mode 100755 tests/xfs/1880 > > create mode 100644 tests/xfs/1880.out > > > > > > diff --git a/tests/xfs/1880 b/tests/xfs/1880 > > new file mode 100755 > > index 0000000000..a2119f04c2 > > --- /dev/null > > +++ b/tests/xfs/1880 > > @@ -0,0 +1,135 @@ > > +#! /bin/bash > > +# SPDX-License-Identifier: GPL-2.0 > > +# Copyright (c) 2024 Oracle. All Rights Reserved. > > +# > > +# FS QA Test 1880 > > +# > > +# Corrupt fsverity descriptor, merkle tree blocks, and file contents. Ensure > > +# that xfs_scrub detects this and repairs whatever it can. > > +# > > +. ./common/preamble > > +_begin_fstest auto quick verity > > + > > +_cleanup() > > +{ > > + cd / > > + _restore_fsverity_signatures > > + rm -f $tmp.* > > +} > > + > > +. ./common/verity > > +. ./common/filter > > +. ./common/fuzzy > > + > > +_supported_fs xfs > > +_require_scratch_verity > > +_disable_fsverity_signatures > > +_require_fsverity_corruption > > +_require_scratch_nocheck # fsck test > > + > > +_scratch_mkfs >> $seqres.full > > +_scratch_mount > > + > > +_require_scratch_xfs_scrub > > +_require_xfs_has_feature "$SCRATCH_MNT" verity > > +VICTIM_FILE="$SCRATCH_MNT/a" > > +_fsv_can_enable "$VICTIM_FILE" || _notrun "cannot enable fsverity" > > I think this is not necessary, _require_scratch_verity already does > check if verity can be enabled (with more detailed errors). It is because _require_scratch_verity calls _scratch_mkfs_verity to format the filesystem. _scratch_mkfs_verity in turn forces verity on, possibly overriding MKFS_OPTIONS to make it happen. -iverity=1 might not be set for a regular _scratch_mkfs call. Therefore, this second _fsv_can_enable call checks that the test runner's MKFS_OPTIONS set actually supports fsverity. I'll leave a comment summarizing this: # Check again to confirm that the caller's MKFS_OPTIONS result in a filesystem # that supports fsverity. _fsv_can_enable "$VICTIM_FILE" || _notrun "cannot enable fsverity" --D > Otherwise, looks good to me: > Reviewed-by: Andrey Albershteyn <aalbersh@xxxxxxxxxx> > > -- > - Andrey > >