mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
8e5bf2d06f
Sometimes on fast enough test vm, btrfs/028 fails like:
btrfs/028 31s ... - output mismatch (see /home/adam/xfstests-dev/results//btrfs/028.out.bad)
--- tests/btrfs/028.out 2019-07-22 14:13:44.646666660 +0800
+++ /home/adam/xfstests-dev/results//btrfs/028.out.bad 2019-09-18 14:14:45.442131411 +0800
@@ -1,2 +1,3 @@
QA output created by 028
+/home/adam/xfstests-dev/tests/btrfs/028: line 64: kill: (2459) - No such process
Silence is golden
...
It's caused by killing already finished process.
There is no need for kill command to pollute the golden output, so
just redirect all of its stdout and stderr to null.
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
80 lines
1.8 KiB
Bash
Executable File
80 lines
1.8 KiB
Bash
Executable File
#! /bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (c) 2016 Fujitsu. All Rights Reserved.
|
|
#
|
|
# FS QA Test 028
|
|
#
|
|
# Test if qgroup can handle extent de-reference during reallocation.
|
|
# "extent de-reference" means that reducing an extent's reference count
|
|
# or freeing an extent.
|
|
# Although current qgroup can handle it, we still need to prevent any
|
|
# regression which may break current qgroup.
|
|
#
|
|
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 15
|
|
|
|
_cleanup()
|
|
{
|
|
cd /
|
|
rm -f $tmp.*
|
|
}
|
|
|
|
# get standard environment, filters and checks
|
|
. ./common/rc
|
|
. ./common/filter
|
|
|
|
# remove previous $seqres.full before test
|
|
rm -f $seqres.full
|
|
|
|
# real QA test starts here
|
|
_supported_fs btrfs
|
|
_supported_os Linux
|
|
_require_scratch
|
|
_require_btrfs_qgroup_report
|
|
|
|
_scratch_mkfs >/dev/null
|
|
_scratch_mount
|
|
|
|
_run_btrfs_util_prog quota enable $SCRATCH_MNT
|
|
_run_btrfs_util_prog quota rescan -w $SCRATCH_MNT
|
|
|
|
# Increase the probability of generating de-refer extent, and decrease
|
|
# other.
|
|
args=`_scale_fsstress_args -z \
|
|
-f write=10 -f unlink=10 \
|
|
-f creat=10 -f fsync=10 \
|
|
-f fsync=10 -n 100000 -p 2 \
|
|
-d $SCRATCH_MNT/stress_dir`
|
|
echo "Run fsstress $args" >>$seqres.full
|
|
$FSSTRESS_PROG $args >/dev/null 2>&1 &
|
|
fsstress_pid=$!
|
|
|
|
echo "Start balance" >>$seqres.full
|
|
_btrfs_stress_balance -d $SCRATCH_MNT >/dev/null 2>&1 &
|
|
balance_pid=$!
|
|
|
|
# 30s is enough to trigger bug
|
|
sleep $((30*$TIME_FACTOR))
|
|
kill $fsstress_pid $balance_pid &> /dev/null
|
|
wait
|
|
|
|
# kill _btrfs_stress_balance can't end balance, so call btrfs balance cancel
|
|
# to cancel running or paused balance.
|
|
$BTRFS_UTIL_PROG balance cancel $SCRATCH_MNT &> /dev/null
|
|
|
|
_run_btrfs_util_prog filesystem sync $SCRATCH_MNT
|
|
|
|
_scratch_unmount
|
|
|
|
# qgroup will be checked at _check_scratch_fs() by fstest.
|
|
echo "Silence is golden"
|
|
status=0
|
|
|
|
exit
|