Files
apfstests/tests/xfs/178
T
Darrick J. Wong 7e98d41a6e fstests: move test group info to test files
Refactor every test in the entire test suite to use the new boilerplate
functions.  This also migrates all the test group information into the
test files.  This patch has been autogenerated via the command:

./tools/convert-group btrfs ceph cifs ext4 f2fs generic nfs ocfs2 overlay perf shared udf xfs

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2021-06-27 22:50:02 +08:00

74 lines
1.8 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2007 Silicon Graphics, Inc. All Rights Reserved.
#
# FS QA Test No. 178
#
# Reproduce PV#:967665
# Test if mkfs.xfs wipes old AG headers when using -f option
#
. ./common/preamble
_begin_fstest mkfs other auto
# dd the 1st sector then repair
_dd_repair_check()
{
#dd first sector
dd if=/dev/zero of=$1 bs=$2 count=1 2>&1 | _filter_dd
#xfs_repair
_scratch_xfs_repair 2>&1 | _filter_repair
#check repair
if _check_scratch_fs; then
echo "repair passed"
else
echo "repair failed!"
fi
}
# Import common functions.
. ./common/filter
. ./common/repair
# real QA test starts here
# Modify as appropriate.
_supported_fs xfs
# From the PV
# o Summary of testing:
# 1. mkfs.xfs a default filesystem, note agcount value.
# 2. dd zero first sector and repair and verify.
# 3. mkfs.xfs overriding agcount to a smaller value
# (ie. each AG is bigger)
# 4. dd zero first sector, repair and verify.
# -> old mkfs.xfs will cause repair to incorrectly
# fix filesystem, new mkfs.xfs will be fine.
_require_scratch
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
test "${PIPESTATUS[0]}" -eq 0 || _fail "mkfs failed!"
# By executing the followint tmp file, will get on the mkfs options stored in
# variables
. $tmp.mkfs
# if the default agcount is too small, bump it up and re-mkfs before testing
if [ $agcount -lt 8 ]; then
agcount=8
_scratch_mkfs_xfs -dagcount=$agcount >/dev/null 2>&1 \
|| _notrun "Test requires at least 8 AGs."
fi
_dd_repair_check $SCRATCH_DEV $sectsz
# smaller AGCOUNT
let "agcount=$agcount-2"
_scratch_mkfs_xfs -dagcount=$agcount >/dev/null 2>&1 \
|| _fail "mkfs failed!"
_dd_repair_check $SCRATCH_DEV $sectsz
# success, all done
status=0
exit