|vp||The vnode being locked or unlocked.|
One of the lock request types:
|LK_RELEASE||Release any type of lock.|
|LK_DRAIN||Wait for all lock activity to end.|
The lock type may be or ed with these lock flags:
|LK_NOWAIT||Do not sleep to wait for lock.|
|LK_SLEEPFAIL||Sleep, then return failure.|
|Allow recursive exclusive lock.|
|LK_NOWITNESS||Instruct witness(4) to ignore this instance.|
The lock type may be or ed with these control flags:
|LK_INTERLOCK||Specify when the caller already has a simple lock ( VOP_LOCK will unlock the simple lock after getting the lock).|
|LK_RETRY||Retry until locked.|
Kernel code should use vn_lock to lock a vnode rather than calling VOP_LOCK directly. vn_lock also does not want a thread specified as argument but it assumes curthread to be used.
Zero is returned on success, otherwise an error is returned.
This manual page was written by
.An Doug Rabson .