From: Darrick J. Wong <djwong@xxxxxxxxxx> Create tests to race fsstress with fs summary counter repair while running fsstress in the background. Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> --- tests/xfs/714 | 41 +++++++++++++++++++++++++++++++++++++++++ tests/xfs/714.out | 2 ++ tests/xfs/762 | 46 ++++++++++++++++++++++++++++++++++++++++++++++ tests/xfs/762.out | 2 ++ 4 files changed, 91 insertions(+) create mode 100755 tests/xfs/714 create mode 100644 tests/xfs/714.out create mode 100755 tests/xfs/762 create mode 100644 tests/xfs/762.out diff --git a/tests/xfs/714 b/tests/xfs/714 new file mode 100755 index 0000000000..c1b6cd919a --- /dev/null +++ b/tests/xfs/714 @@ -0,0 +1,41 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (c) 2022 Oracle. All Rights Reserved. +# +# FS QA Test No. 714 +# +# Race fsstress and fscounter repair for a while to see if we crash or livelock. +# Summary counter repair requires us to freeze the filesystem to stop all +# filesystem activity, so we can't have userspace wandering in and thawing it. +# +. ./common/preamble +_begin_fstest online_repair dangerous_fsstress_repair + +# Override the default cleanup function. +_cleanup() +{ + _scratch_xfs_stress_scrub_cleanup &> /dev/null + cd / + rm -rf $tmp.* +} +_register_cleanup "_cleanup" BUS + +# Import common functions. +. ./common/filter +. ./common/fuzzy +. ./common/inject +. ./common/xfs + +# real QA test starts here +_supported_fs xfs +_require_scratch +_require_xfs_stress_online_repair + +_scratch_mkfs > "$seqres.full" 2>&1 +_scratch_mount +_scratch_xfs_stress_online_repair -s "repair fscounters" + +# success, all done +echo Silence is golden +status=0 +exit diff --git a/tests/xfs/714.out b/tests/xfs/714.out new file mode 100644 index 0000000000..f5ce748b71 --- /dev/null +++ b/tests/xfs/714.out @@ -0,0 +1,2 @@ +QA output created by 714 +Silence is golden diff --git a/tests/xfs/762 b/tests/xfs/762 new file mode 100755 index 0000000000..0f70b632a3 --- /dev/null +++ b/tests/xfs/762 @@ -0,0 +1,46 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (c) 2022 Oracle. All Rights Reserved. +# +# FS QA Test No. 762 +# +# Race fsstress and fscounter repair on the realtime device for a while to see +# if we crash or livelock. Summary counter repair requires us to freeze the +# filesystem to stop all filesystem activity, so we can't have userspace +# wandering in and thawing it. +# +. ./common/preamble +_begin_fstest auto quick rw scrub realtime + +_cleanup() { + _scratch_xfs_stress_scrub_cleanup &> /dev/null + cd / + rm -r -f $tmp.* +} +_register_cleanup "_cleanup" BUS + + +# Import common functions. +. ./common/filter +. ./common/fuzzy +. ./common/inject +. ./common/xfs + +# real QA test starts here +_supported_fs xfs +_require_scratch +_require_realtime +_require_xfs_stress_scrub + +_scratch_mkfs > "$seqres.full" 2>&1 +_scratch_mount +_require_xfs_has_feature "$SCRATCH_MNT" realtime + +# Force all files to be allocated on the realtime device +_xfs_force_bdev realtime $SCRATCH_MNT +_scratch_xfs_stress_online_repair -s 'scrub fscounters' -s "repair fscounters" + +# success, all done +echo Silence is golden +status=0 +exit diff --git a/tests/xfs/762.out b/tests/xfs/762.out new file mode 100644 index 0000000000..fbaeb29706 --- /dev/null +++ b/tests/xfs/762.out @@ -0,0 +1,2 @@ +QA output created by 762 +Silence is golden