Subject: Re: kern/5113: kernel panic when vnconfig'ing
To: None <bouyer@antioche.lip6.fr>
From: Frank van der Linden <frank@wins.uva.nl>
List: netbsd-bugs
Date: 03/04/1998 16:48:01
On Tue, Mar 03, 1998 at 10:54:54PM +0100, bouyer@antioche.lip6.fr wrote:
> 
> 	The problem is that vndstrategy calls vn_lock() with the second argument
> 	(flags) set to 0. This is passed up to lockmgr().
> 	Passing (LK_EXCLUSIVE | LK_RETRY) solves the problem, but may be a too
> 	conservative approach. The XXX comments here also stats:
> 	"check if vnode is already locked, to avoid
> 	 recursive locking. The real solution is to
> 	 allow recursive locks here, but the interface
> 	 doesn't allow it." 
> 	It seems that the lite-2 interface allows recursive locks, but I didn't
> 	go deeper into this.

I fixed it by doing what you said for the time being; not sure how that
0 crept in there, it should have been LK_EXCLUSIVE | LK_RETRY all along.

You can just get rid of all the ISLOCKED stuff by using LK_CANRECURSE,
but I can't test this right now, so I didn't do that yet (maybe you
can test it?).

- Frank