On Wed, Apr 28, 2021 at 06:31:54PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > Prior to lazysbcount, the xfs mount code blindly trusted the value of > the fdblocks counter in the primary super, which means that the kernel > doesn't detect the fuzzed fdblocks value at all. V4 is deprecated and > pre-lazysbcount V4 hasn't been the default for ~14 years, so we'll just > skip these two tests on those old filesystems. > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > --- > v1.2: factor the feature checking into a separate helper > --- Looks good, thanks for the update: Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> > common/xfs | 12 ++++++++++++ > tests/xfs/491 | 4 ++++ > tests/xfs/492 | 4 ++++ > 3 files changed, 20 insertions(+) > > diff --git a/common/xfs b/common/xfs > index 8501b084..92383061 100644 > --- a/common/xfs > +++ b/common/xfs > @@ -1129,6 +1129,18 @@ _check_scratch_xfs_features() > test "${found}" -eq "$#" > } > > +# Skip a test if any of the given fs features aren't present on the scratch > +# filesystem. The scratch fs must have been formatted already. > +_require_scratch_xfs_features() > +{ > + local features="$(_scratch_xfs_db -c 'version' 2>/dev/null)" > + > + for feature in "$@"; do > + echo "${features}" | grep -q -w "${feature}" || > + _notrun "Missing scratch feature: ${feature}" > + done > +} > + > # Decide if xfs_repair knows how to set (or clear) a filesystem feature. > _require_xfs_repair_upgrade() > { > diff --git a/tests/xfs/491 b/tests/xfs/491 > index 6420202b..7d447ccf 100755 > --- a/tests/xfs/491 > +++ b/tests/xfs/491 > @@ -36,6 +36,10 @@ _require_scratch > > echo "Format and mount" > _scratch_mkfs > $seqres.full 2>&1 > + > +# pre-lazysbcount filesystems blindly trust the primary sb fdblocks > +_require_scratch_xfs_features LAZYSBCOUNT > + > _scratch_mount >> $seqres.full 2>&1 > echo "test file" > $SCRATCH_MNT/testfile > > diff --git a/tests/xfs/492 b/tests/xfs/492 > index 522def47..21c6872f 100755 > --- a/tests/xfs/492 > +++ b/tests/xfs/492 > @@ -36,6 +36,10 @@ _require_scratch > > echo "Format and mount" > _scratch_mkfs > $seqres.full 2>&1 > + > +# pre-lazysbcount filesystems blindly trust the primary sb fdblocks > +_require_scratch_xfs_features LAZYSBCOUNT > + > _scratch_mount >> $seqres.full 2>&1 > echo "test file" > $SCRATCH_MNT/testfile > >