Commit a27e6e6f4c18 introduced xfs health checking on no-repair fuzz, which in turn requires scrub to be run before that. The health checks are done only if scrub returns with an error (which is expected as an indication that fuzzed metadata errors were picked up), but the code does not discern between xfs_scrub returning an error because of uncorrected metadata vs failing because the kernel does not support scrub at all. This causes all tests that do fuzzing with no-repair strategy to fail on kernels compiled without online scrub support (CONFIG_XFS_ONLINE_SCRUB). Skip scrub and health checks altogether, if the kernel does not support it, since the tests are still valuable. Fixes: a27e6e6f4c18 ("common: check xfs health after doing an online scrub") Signed-off-by: Anthony Iliopoulos <ailiop@xxxxxxxx> --- common/fuzzy | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/common/fuzzy b/common/fuzzy index 4365e7343e92..a78a354142df 100644 --- a/common/fuzzy +++ b/common/fuzzy @@ -422,6 +422,12 @@ __scratch_xfs_fuzz_field_norepair() { return 1 fi + # Skip scrub and health check if scrub is not supported + if ! _supports_xfs_scrub $SCRATCH_MNT $SCRATCH_DEV; then + __scratch_xfs_fuzz_unmount + return 0 + fi + # Make sure online scrub will catch whatever we fuzzed __fuzz_notify "++ Detect fuzzed field (online)" _scratch_scrub -n -a 1 -e continue 2>&1 -- 2.40.0