Respect any passed in external lockmgr flags such as LK_NOWAIT in the
default implementations of VOP_LOCK() and VOP_UNLOCK(). Tested by: jlemon, phk Glanced at by: jeffr
This commit is contained in:
parent
ea6ff0649f
commit
9722121a3c
@ -445,8 +445,7 @@ vop_sharedlock(ap)
|
||||
default:
|
||||
panic("vop_sharedlock: bad operation %d", flags & LK_TYPE_MASK);
|
||||
}
|
||||
if (flags & LK_INTERLOCK)
|
||||
vnflags |= LK_INTERLOCK;
|
||||
vnflags |= flags & (LK_INTERLOCK | LK_EXTFLG_MASK);
|
||||
#ifndef DEBUG_LOCKS
|
||||
return (lockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td));
|
||||
#else
|
||||
@ -503,8 +502,7 @@ vop_nolock(ap)
|
||||
default:
|
||||
panic("vop_nolock: bad operation %d", flags & LK_TYPE_MASK);
|
||||
}
|
||||
if (flags & LK_INTERLOCK)
|
||||
vnflags |= LK_INTERLOCK;
|
||||
vnflags |= flags & (LK_INTERLOCK | LK_EXTFLG_MASK);
|
||||
return(lockmgr(vp->v_vnlock, vnflags, VI_MTX(vp), ap->a_td));
|
||||
#else /* for now */
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user