Subject: LK_NOWAIT vget (was: Re: simple_lock: uninitialized lock)
To: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
From: Antti Kantee <pooka@netbsd.org>
List: current-users
Date: 07/24/2007 00:19:35
On Mon Jul 23 2007 at 19:33:41 +0200, Juergen Hannken-Illjes wrote:
> ioflush	sched_sync -> VOP_FSYNC -> sync_fsync -> ffs_sync -> vget ->
> 	    vn_lock -> VOP_LOCK -> ufs_lock -> EBUSY
> 	...
> 	    vrele -> vn_lock -> VOP_LOCK -> ufs_lock -> SLEEP

As a side-track, LK_NOWAIT vget() can block, which is something I'm
perfectly sure everyone expects ...

We could at least change the vn_lock() to drop LK_NOWAIT until we can
fix VOP_INACTIVE to be less stupid.  If there's pain, might as well take
the gain?

-- 
Antti Kantee <pooka@iki.fi>                     Of course he runs NetBSD
http://www.iki.fi/pooka/                          http://www.NetBSD.org/
    "la qualité la plus indispensable du cuisinier est l'exactitude"