Subject: Re: vclean deadlock risk
To: Paul Kranenburg <pk@cs.few.eur.nl>
From: Frank van der Linden <frank@wins.uva.nl>
List: tech-kern
Date: 05/09/1998 22:07:21
On Sat, May 09, 1998 at 03:25:11PM +0200, Paul Kranenburg wrote:
> I want to point out a possible deadlock scenario that exists since
> the lite2 integration.

[...]
> 
> I don't have an obvious fix, but I want to note that it seems inappropriate
> to have vrele() do a VOP_INACTIVE() after the vnode has already be
> inactivated _and_ reclaimed from within vclean(). Maybe we should
> consider inlining the relevant parts of vrele() at this point.

Yes, you're right. This problem can be worked around by inlining part of
vrele(), as you suggest. This problem is fixed in my FFS softdep tree,
as it was part of Kirk's diffs (I think it was fixed in BSD/OS before).
You could take it from those, and check it in right now, or wait until
the softdep framework is checked in.

[note: the merge of Kirk's softdep code into NetBSD I mention isn't publicly
 available yet, but it should be soon, as it seems pretty stable]

- Frank