xref: /freebsd/tools/test/stress2/misc/fdescfs2.sh (revision da20d88599d52667c9cd422632302cf5e2e19938)
1*da20d885SPeter Holm#!/bin/sh
2*da20d885SPeter Holm
3*da20d885SPeter Holm#
4*da20d885SPeter Holm# Copyright (c) 2025 Peter Holm <pho@FreeBSD.org>
5*da20d885SPeter Holm#
6*da20d885SPeter Holm# SPDX-License-Identifier: BSD-2-Clause
7*da20d885SPeter Holm#
8*da20d885SPeter Holm
9*da20d885SPeter Holm# Test scenario description by: Kyle Evans <kevans@FreeBSD.org>
10*da20d885SPeter Holm
11*da20d885SPeter Holm# "panic: mtx_lock() of destroyed mutex 0xffffffff83717540 @ /usr/src/sys/fs/fdescfs/fdesc_vnops.c:151" seen
12*da20d885SPeter Holm
13*da20d885SPeter Holm[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
14*da20d885SPeter Holm. ../default.cfg
15*da20d885SPeter Holm
16*da20d885SPeter Holmset -u
17*da20d885SPeter Holm
18*da20d885SPeter Holmkldstat | grep -q fdescfs.ko && { kldunload fdescfs.ko && wasloaded=1; }
19*da20d885SPeter Holmwhile true; do
20*da20d885SPeter Holm	mount | grep -q "on $mntpoint " ||
21*da20d885SPeter Holm		mount -t fdescfs dummy $mntpoint || continue
22*da20d885SPeter Holm	ls $mntpoint > /dev/null
23*da20d885SPeter Holm	if mount | grep -q "on $mntpoint "; then
24*da20d885SPeter Holm		if ! umount $mntpoint; then
25*da20d885SPeter Holm			umount -f $mntpoint || break
26*da20d885SPeter Holm		fi
27*da20d885SPeter Holm	fi
28*da20d885SPeter Holmdone > /dev/null 2>&1 &
29*da20d885SPeter Holm
30*da20d885SPeter Holmstart=`date +%s`
31*da20d885SPeter Holmwhile [ $((`date +%s` - start)) -lt 10 ]; do
32*da20d885SPeter Holm	kldstat | grep -q fdescfs.ko &&
33*da20d885SPeter Holm		kldunload fdescfs.ko 2>/dev/null
34*da20d885SPeter Holm	sleep .1
35*da20d885SPeter Holm	kldstat | grep -q fdescfs.ko ||
36*da20d885SPeter Holm		kldload fdescfs.ko
37*da20d885SPeter Holmdone
38*da20d885SPeter Holmkill %1
39*da20d885SPeter Holmwait
40*da20d885SPeter Holmmount | grep -q "on $mntpoint " && umount $mntpoint
41*da20d885SPeter Holmsleep .1
42*da20d885SPeter Holmset +u
43*da20d885SPeter Holm[ $wasloaded ] || kldunload fdescfs.ko
44*da20d885SPeter Holmexit 0
45