aboutsummaryrefslogtreecommitdiff
path: root/tools/test/stress2/misc/newfs8.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/test/stress2/misc/newfs8.sh')
-rwxr-xr-xtools/test/stress2/misc/newfs8.sh69
1 files changed, 69 insertions, 0 deletions
diff --git a/tools/test/stress2/misc/newfs8.sh b/tools/test/stress2/misc/newfs8.sh
new file mode 100755
index 000000000000..56ee07cba9b1
--- /dev/null
+++ b/tools/test/stress2/misc/newfs8.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2025 Peter Holm <pho@FreeBSD.org>
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+
+# Variation of newfs.sh with VM pressure added
+
+[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
+
+. ../default.cfg
+
+set -u
+mount | grep "$mntpoint" | grep md$mdstart > /dev/null &&
+ umount $mntpoint
+mdconfig -l | grep md$mdstart > /dev/null && mdconfig -d -u $mdstart
+
+mdconfig -a -t swap -s 20g -u $mdstart
+
+log=/tmp/newfs.sh.log
+s=0
+export RUNDIR=$mntpoint/stressX
+export runRUNTIME=2m
+export RUNTIME=$runRUNTIME
+export CTRLDIR=$mntpoint/stressX.control
+start=`date '+%s'`
+for opt in -O2 -U -j; do
+ blocksize=4096
+ while [ $blocksize -le 65536 ]; do
+ for i in 8 4 2 1; do
+ fragsize=$((blocksize / i))
+ echo "`date +%T` newfs $opt -b $blocksize -f $fragsize"\
+ "md$mdstart"
+ newfs $opt -b $blocksize -f $fragsize \
+ md$mdstart > /dev/null || { s=1; continue; }
+ [ "$opt" = "-O2" ] && tunefs -n disable md$mdstart > /dev/null 2>&1
+ mount /dev/md$mdstart $mntpoint || { s=2; continue; }
+ chmod 777 $mntpoint
+ su $testuser -c \
+ "(cd ..; ./run.sh io.cfg > /dev/null 2>&1)" &
+ sleep 30
+ while pkill swap; do :; done
+ while pkill -U $testuser; do :; done
+ ../tools/killall.sh || { echo "Failed at $opt -b $blocksize -f $fragsize$"; \
+ exit 3; }
+ wait
+ while mount | grep "$mntpoint" | \
+ grep -q md$mdstart; do
+ umount $mntpoint > /dev/null 2>&1 || sleep 1
+ done
+ fsck -fy /dev/md$mdstart > $log 2>&1
+ grep -q "WAS MODIFIED" $log && {
+ s=4
+ cat $log
+ }
+ done
+ blocksize=$((blocksize * 2))
+ done
+ if [ $((`date '+%s'` - start)) -gt 3600 ]; then
+ echo "Timed out in $opt -b $blocksize -f $fragsize$"
+ s=5
+ break
+ fi
+done
+mdconfig -d -u $mdstart
+rm -f $log
+exit $s