Subject: Re: kern/5113: kernel panic when vnconfig'ing
To: None <firstname.lastname@example.org>
From: Frank van der Linden <email@example.com>
Date: 03/04/1998 16:48:01
On Tue, Mar 03, 1998 at 10:54:54PM +0100, firstname.lastname@example.org 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?).