xref: /freebsd/tools/test/stress2/misc/nullfs32.sh (revision ef777be98543f7daae90bd123d4fc1ec4a54efc2)
1*ef777be9SPeter Holm#!/bin/sh
2*ef777be9SPeter Holm
3*ef777be9SPeter Holm# Test scenario from:
4*ef777be9SPeter Holm# Bug 254210 - jail: nullfs: deleted files does not free up space
5*ef777be9SPeter Holm# Fixed by: 1a0cb938f7b4
6*ef777be9SPeter Holm
7*ef777be9SPeter Holm# Test scenario idea by: ronald@FreeBSD.org
8*ef777be9SPeter Holm
9*ef777be9SPeter Holm[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
10*ef777be9SPeter Holm. ../default.cfg
11*ef777be9SPeter Holm
12*ef777be9SPeter Holmset -u
13*ef777be9SPeter Holmprog=$(basename "$0" .sh)
14*ef777be9SPeter Holmlog=/tmp/$prog.log
15*ef777be9SPeter Holmdf -h | grep "$mntpoint"
16*ef777be9SPeter Holmmount | grep $mntpoint | grep -q /dev/md && umount -f $mntpoint
17*ef777be9SPeter Holmmdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart
18*ef777be9SPeter Holmmdconfig -a -t swap -s 2g -u $mdstart
19*ef777be9SPeter Holmnewfs $newfs_flags -n md$mdstart > /dev/null
20*ef777be9SPeter Holmmount /dev/md$mdstart $mntpoint
21*ef777be9SPeter Holm
22*ef777be9SPeter Holmcd $mntpoint
23*ef777be9SPeter Holmmkdir storage test1 test2
24*ef777be9SPeter Holmmount_nullfs -o rw,noatime ./storage ./test1
25*ef777be9SPeter Holmmount_nullfs -o rw,noatime ./storage ./test2
26*ef777be9SPeter Holm
27*ef777be9SPeter Holmdd if=/dev/random of=./test1/random.dd bs=1M count=1024 status=none
28*ef777be9SPeter Holm
29*ef777be9SPeter Holmrm ./test2/random.dd
30*ef777be9SPeter Holmdf -h | grep "$mntpoint" > $log
31*ef777be9SPeter Holmgrep -E "${mntpoint}$" $log | grep -q '16K    1.8G     0%' && s=0 || s=1
32*ef777be9SPeter Holmif [ $s -eq 1 ]; then
33*ef777be9SPeter Holm	echo "Leaking:"
34*ef777be9SPeter Holm	cat $log
35*ef777be9SPeter Holm	find $mntpoint -type f -ls
36*ef777be9SPeter Holmfi
37*ef777be9SPeter Holmcd -
38*ef777be9SPeter Holmumount $mntpoint/test1
39*ef777be9SPeter Holmumount $mntpoint/test2
40*ef777be9SPeter Holmumount $mntpoint
41*ef777be9SPeter Holmmdconfig -d -u $mdstart
42*ef777be9SPeter Holmrm -f rm -f $log
43*ef777be9SPeter Holmexit $s
44