1#!/bin/sh 2 3# "panic: unionfs_lock_lvp: vnode is locked but should not be" seen 4 5# Test scenario based on: 6# Bug 275871 - [unionfs] [nullfs] [zfs] corrupt filesystem 7# Bug 172334 - unionfs permits recursive union mounts; causes panic quickly 8 9. ../default.cfg 10 11prog=$(basename "$0" .sh) 12here=`pwd` 13log=/tmp/$prog.log 14md1=$mdstart 15md2=$((md1 + 1)) 16mp1=/mnt$md1 17mp2=/mnt$md2 18 19set -eu 20mdconfig -l | grep -q md$md1 && mdconfig -d -u $md1 21mdconfig -l | grep -q md$md2 && mdconfig -d -u $md2 22 23mdconfig -s 2g -u $md1 24newfs $newfs_flags /dev/md$md1 > /dev/null 25mdconfig -s 2g -u $md2 26newfs $newfs_flags /dev/md$md2 > /dev/null 27 28mkdir -p $mp1 $mp2 29mount /dev/md$md1 $mp1 30mount /dev/md$md2 $mp2 31set +e 32mount -t unionfs -o noatime $mp1 $mp2 33mount -t unionfs -o noatime $mp2 $mp1 34 35ls -lr $mp1 $mp2 > /dev/null # triggers the panic 36 37umount $mp2 # The unionfs mount 38umount $mp2 39umount $mp1 40 41mdconfig -d -u $md1 42mdconfig -d -u $md2 43rm -f /tmp/$prog 44exit 0 45