#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2017 Oracle, Inc.  All Rights Reserved.
#
# FS QA Test No. 379
#
# Populate a XFS filesystem and fuzz every btree-format file inode field.
# Use xfs_scrub to fix the corruption.
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"

here=`pwd`
tmp=/tmp/$$
status=1	# failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 7 15

_cleanup()
{
	cd /
	rm -rf $tmp.*
}

# get standard environment, filters and checks
. ./common/rc
. ./common/filter
. ./common/populate
. ./common/fuzzy

# real QA test starts here
_supported_fs xfs
_require_scratch_xfs_fuzz_fields

echo "Format and populate"
_scratch_populate_cached nofill > $seqres.full 2>&1

echo "Find btree-format file inode"
_scratch_mount
inum=$(stat -c '%i' $SCRATCH_MNT/S_IFREG.FMT_BTREE)
_scratch_unmount

echo "Fuzz inode"
_scratch_xfs_fuzz_metadata '' 'online'  "inode ${inum}" >> $seqres.full
echo "Done fuzzing inode"

# success, all done
status=0
exit
