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"