xref: /freebsd/tools/test/stress2/misc/rename17.sh (revision 9c6ed9a88d3afb8bc9aba7cf852cc36e03bcd34c)
1#!/bin/sh
2
3#
4# Copyright (c) 2026 Peter Holm <pho@FreeBSD.org>
5#
6# SPDX-License-Identifier: BSD-2-Clause
7#
8
9# Test rename(2) over nfs.
10# This needs to be in /etc/exports: /mnt	-maproot=root 127.0.0.1
11
12# "panic: Lock rename not exclusively locked @ ../../../kern/vfs_subr.c:5878" seen
13
14. ../default.cfg
15
16[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
17grep -q $mntpoint /etc/exports ||
18	{ echo "$mntpoint missing from /etc/exports"; exit 0; }
19ps -x | grep -v grep | grep -q nfsd || { echo "nfsd is not running"; exit 0; }
20
21set -u
22mp1=$mntpoint
23mp2=${mntpoint}2
24
25mount | grep "$mp2" | grep nfs > /dev/null && umount -f $mp2
26mount | grep "$mp1" | grep -q /md && umount -f $mp1
27mdconfig -l | grep -q $mdstart  &&  mdconfig -d -u $mdstart
28
29set -e
30mdconfig -a -t swap -s 2g -u $mdstart
31newfs $newfs_flags /dev/md$mdstart > /dev/null
32mount /dev/md$mdstart $mp1
33set +e
34
35mkdir $mp1/stressX $mp1/stressX.control
36chmod 777 $mp1/stressX $mp1/stressX.control
37
38[ ! -d $mp2 ] &&  mkdir $mp2
39chmod 777 $mp2
40
41mount -t nfs -o tcp -o retrycnt=3 -o soft -o rw \
42    127.0.0.1:$mp1 $mp2
43
44sleep 1
45export CTRLDIR=$mp2/stressX.control
46export RUNDIR=$mp2/stressX
47export renameLOAD=100
48export runRUNTIME=5m
49export TESTPROGS="
50testcases/rename/rename
51testcases/swap/swap"
52su -m $testuser -c 'cd ..; ./testcases/run/run $TESTPROGS'
53
54umount -f $mp2 > /dev/null 2>&1
55umount -f $mp1 > /dev/null 2>&1
56mdconfig -d -u $mdstart
57exit 0
58