#! /bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2017 Oracle, Inc. All Rights Reserved. # # FS QA Test No. 370 # # Populate a XFS filesystem and fuzz every rmapbt key/pointer field. # Use xfs_repair to fix the corruption. # Use xfs_repair to repair the problems. # . ./common/preamble _begin_fstest dangerous_fuzzers dangerous_scrub dangerous_repair _register_cleanup "_cleanup" BUS # Import common functions. . ./common/filter . ./common/populate . ./common/fuzzy # real QA test starts here _supported_fs xfs _require_xfs_scratch_rmapbt _require_scratch_xfs_fuzz_fields echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 path="$(_scratch_xfs_find_agbtree_height 'rmap' 2)" || \ _fail "could not find two-level rmapbt" echo "Fuzz rmapbt keyptr" _scratch_xfs_fuzz_metadata '' 'offline' "$path" 'addr rmaproot' >> $seqres.full echo "Done fuzzing rmapbt keyptr" # success, all done status=0 exit