On Fri, Aug 26, 2011 at 08:33:47AM +0000, YAMAMOTO Takashi wrote:
> > What happens if vn_lock(vp, LK_EXCLUSIVE|LK_RETRY) is called on a
> > LK_SHARED locked vnode? I would expect it to sleep until the shared lock
> > is released.
> 
> a recursive locking attempt is an error.

We have no way to upgrade a lock from shared to exclusive?

> if we go this route, it's cleaner to use a puffs internal lock, or change
> the locking protocol to require at least LK_SHARED for VOP_GETATTR.
> cf. vfs_syscalls.c rev.1.350.2.3

I will need an exclusive lock. Of course I can add a PUFFS  mutex, but
I will have to use it for a lot of calls, it is a bit frustrating to not 
use the vnode lock.

-- 
Emmanuel Dreyfus
m...@netbsd.org

Reply via email to