-/*
- * Lock an nfsnode
- */
-int
-nfs_lock(ap)
- struct vop_lock_args /* {
- struct vnode *a_vp;
- int a_flags;
- struct proc *a_p;
- } */ *ap;
-{
- register struct vnode *vp = ap->a_vp;
-
- /*
- * Ugh, another place where interruptible mounts will get hung.
- * If you make this call interruptible, then you have to fix all
- * the VOP_LOCK() calls to expect interruptibility.
- */
- if (vp->v_tag == VT_NON)
- return (ENOENT); /* ??? -- got to check something and error, but what? */
-
- return(lockmgr(&VTONFS(vp)->n_lock, ap->a_flags, &vp->v_interlock,
- ap->a_p));
-
-}
-
-/*
- * Unlock an nfsnode
- */
-int
-nfs_unlock(ap)
- struct vop_unlock_args /* {
- struct vnode *a_vp;
- int a_flags;
- struct proc *a_p;
- } */ *ap;
-{
- struct vnode *vp = ap->a_vp;
-
- return (lockmgr(&VTONFS(vp)->n_lock, ap->a_flags | LK_RELEASE,
- &vp->v_interlock, ap->a_p));
-}
-
-/*
- * Check for a locked nfsnode
- */
-int
-nfs_islocked(ap)
- struct vop_islocked_args /* {
- struct vnode *a_vp;
- } */ *ap;
-{
- return (lockstatus(&VTONFS(ap->a_vp)->n_lock));
-
-}