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:
John Baldwin 2003-03-07 20:45:07 +00:00
parent ea6ff0649f
commit 9722121a3c

View File

@ -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 */
/*