xref: /freebsd/tools/test/stress2/misc/growfs3.sh (revision ef777be98543f7daae90bd123d4fc1ec4a54efc2)
1#!/bin/sh
2
3#
4# Copyright (c) 2025 Peter Holm <pho@FreeBSD.org>
5#
6# SPDX-License-Identifier: BSD-2-Clause
7#
8
9. ../default.cfg
10[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
11
12set -eu
13prog=$(basename "$0" .sh)
14log=/tmp/$prog.log
15mount | grep "on $mntpoint " | grep -q /dev/md && umount -f $mntpoint
16[ -c /dev/md$mdstart ] &&  mdconfig -d -u $mdstart
17mdconfig -a -t swap -s 32g -u $mdstart
18/sbin/gpart create -s GPT md$mdstart > /dev/null
19/sbin/gpart add -t freebsd-ufs -s 2g -a 4k md$mdstart > /dev/null
20set +e
21
22newfs_flags=$(echo "-O1" "-O2" "-U" "-j" | awk -v N=`jot -r 1 1 4` '{print $N}')
23echo "newfs $newfs_flags md${mdstart}p1"
24newfs $newfs_flags md${mdstart}p1 > /dev/null
25[ "$newfs_flags" = "-O2" ] &&
26    tunefs -n disable md${mdstart}p1 > /dev/null 2>&1
27mount /dev/md${mdstart}p1 $mntpoint
28cp -r /usr/include $mntpoint/inc1
29umount $mntpoint
30
31gpart resize -i 1 -s 31g -a 4k md$mdstart
32growfs -y md${mdstart}p1 > /dev/null
33
34mount /dev/md${mdstart}p1 $mntpoint
35cp -r /usr/include $mntpoint/inc2
36umount $mntpoint
37fsck -fy /dev/md${mdstart}p1 > $log 2>&1; s=$?
38grep -q "WAS MODIFIED" $log && { cat $log; s=1; }
39rm -f $log
40mdconfig -d -u $mdstart
41exit $s
42