The VOP_UNLOCK() function has a flags parameter, which is documented to
should be zero in most cases. It turns out that the flags argument is 
zero for all ~200 callers in the tree. On a closer look it is revealed
that VOP_UNLOCK() uses lockmgr() for all filesystems that support
locking. The only lockmgr() flag that is useful for unlocking is
LK_RELEASE, which is set by the implementation anyways, so passing flags
to VOP_UNLOCK() doesn't make sense anyway.

Ok to remove the flags argument from VOP_UNLOCK()?

natano


Index: share/man/man9/VOP_LOOKUP.9
===================================================================
RCS file: /cvs/src/share/man/man9/VOP_LOOKUP.9,v
retrieving revision 1.32
diff -u -p -r1.32 VOP_LOOKUP.9
--- share/man/man9/VOP_LOOKUP.9 2 Dec 2015 11:03:40 -0000       1.32
+++ share/man/man9/VOP_LOOKUP.9 2 Mar 2016 20:02:46 -0000
@@ -283,7 +283,6 @@
 .Ft int
 .Fo VOP_UNLOCK
 .Fa "struct vnode *vp"
-.Fa "int flags"
 .Fa "struct proc *p"
 .Fc
 .Ft int
@@ -564,7 +563,7 @@ returned.
 .Pp
 .It Fn VOP_ISLOCKED vp
 .It Fn VOP_LOCK vp flags p
-.It Fn VOP_UNLOCK vp flags p
+.It Fn VOP_UNLOCK vp p
 .Fn VOP_LOCK
 is used internally by
 .Xr vn_lock 9
@@ -572,8 +571,6 @@ to lock a vnode.
 It should not be used by other file system code.
 .Fn VOP_UNLOCK
 unlocks a vnode.
-.Fa flags
-should be zero in most cases.
 .Fn VOP_ISLOCKED
 returns 1 if
 .Fa vp
Index: share/man/man9/vinvalbuf.9
===================================================================
RCS file: /cvs/src/share/man/man9/vinvalbuf.9,v
retrieving revision 1.9
diff -u -p -r1.9 vinvalbuf.9
--- share/man/man9/vinvalbuf.9  17 Jul 2013 20:21:56 -0000      1.9
+++ share/man/man9/vinvalbuf.9  2 Mar 2016 20:02:46 -0000
@@ -87,7 +87,7 @@ A value of 0 is returned on success.
 .Bd -literal -offset indent
 vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
 error = vinvalbuf(devvp, V_SAVE, cred, p, 0, 0);
-VOP_UNLOCK(devvp, 0, p);
+VOP_UNLOCK(devvp, p);
 if (error)
        return (error);
 .Ed
Index: sys/arch/sparc64/dev/vdsp.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/dev/vdsp.c,v
retrieving revision 1.41
diff -u -p -r1.41 vdsp.c
--- sys/arch/sparc64/dev/vdsp.c 29 Dec 2015 04:46:28 -0000      1.41
+++ sys/arch/sparc64/dev/vdsp.c 2 Mar 2016 20:02:49 -0000
@@ -941,7 +941,7 @@ vdsp_open(void *arg1)
                        sc->sc_vdisk_size = va.va_size / DEV_BSIZE;
                }
 
-               VOP_UNLOCK(nd.ni_vp, 0, p);
+               VOP_UNLOCK(nd.ni_vp, p);
                sc->sc_vp = nd.ni_vp;
 
                vdsp_readlabel(sc);
@@ -1013,7 +1013,7 @@ vdsp_readlabel(struct vdsp_softc *sc)
 
        vn_lock(sc->sc_vp, LK_EXCLUSIVE | LK_RETRY, p);
        err = VOP_READ(sc->sc_vp, &uio, 0, p->p_ucred);
-       VOP_UNLOCK(sc->sc_vp, 0, p);
+       VOP_UNLOCK(sc->sc_vp, p);
        if (err) {
                free(sc->sc_label, M_DEVBUF, 0);
                sc->sc_label = NULL;
@@ -1043,7 +1043,7 @@ vdsp_writelabel(struct vdsp_softc *sc)
 
        vn_lock(sc->sc_vp, LK_EXCLUSIVE | LK_RETRY, p);
        err = VOP_WRITE(sc->sc_vp, &uio, 0, p->p_ucred);
-       VOP_UNLOCK(sc->sc_vp, 0, p);
+       VOP_UNLOCK(sc->sc_vp, p);
 
        return (err);
 }
@@ -1074,7 +1074,7 @@ vdsp_is_iso(struct vdsp_softc *sc)
 
        vn_lock(sc->sc_vp, LK_EXCLUSIVE | LK_RETRY, p);
        err = VOP_READ(sc->sc_vp, &uio, 0, p->p_ucred);
-       VOP_UNLOCK(sc->sc_vp, 0, p);
+       VOP_UNLOCK(sc->sc_vp, p);
 
        if (err == 0 && memcmp(vdp->id, ISO_STANDARD_ID, sizeof(vdp->id)))
                err = ENOENT;
@@ -1153,7 +1153,7 @@ vdsp_read_desc(struct vdsp_softc *sc, st
 
        vn_lock(sc->sc_vp, LK_EXCLUSIVE | LK_RETRY, p);
        dm->status = VOP_READ(sc->sc_vp, &uio, 0, p->p_ucred);
-       VOP_UNLOCK(sc->sc_vp, 0, p);
+       VOP_UNLOCK(sc->sc_vp, p);
 
        KERNEL_UNLOCK();
        if (dm->status == 0) {
@@ -1227,7 +1227,7 @@ vdsp_read_dring(void *arg1, void *arg2)
 
        vn_lock(sc->sc_vp, LK_EXCLUSIVE | LK_RETRY, p);
        vd->status = VOP_READ(sc->sc_vp, &uio, 0, p->p_ucred);
-       VOP_UNLOCK(sc->sc_vp, 0, p);
+       VOP_UNLOCK(sc->sc_vp, p);
 
        KERNEL_UNLOCK();
        if (vd->status == 0) {
@@ -1326,7 +1326,7 @@ vdsp_write_dring(void *arg1, void *arg2)
 
        vn_lock(sc->sc_vp, LK_EXCLUSIVE | LK_RETRY, p);
        vd->status = VOP_WRITE(sc->sc_vp, &uio, 0, p->p_ucred);
-       VOP_UNLOCK(sc->sc_vp, 0, p);
+       VOP_UNLOCK(sc->sc_vp, p);
 
 fail:
        free(buf, M_DEVBUF, 0);
Index: sys/dev/diskmap.c
===================================================================
RCS file: /cvs/src/sys/dev/diskmap.c,v
retrieving revision 1.13
diff -u -p -r1.13 diskmap.c
--- sys/dev/diskmap.c   20 Nov 2015 16:06:53 -0000      1.13
+++ sys/dev/diskmap.c   2 Mar 2016 20:02:49 -0000
@@ -116,7 +116,7 @@ diskmapioctl(dev_t dev, u_long cmd, cadd
        fp->f_rbytes = 0;
        fp->f_wbytes = 0;
 
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
 
        FRELE(fp, p);
        fdpunlock(fdp);
Index: sys/dev/vnd.c
===================================================================
RCS file: /cvs/src/sys/dev/vnd.c,v
retrieving revision 1.157
diff -u -p -r1.157 vnd.c
--- sys/dev/vnd.c       26 Aug 2015 22:36:18 -0000      1.157
+++ sys/dev/vnd.c       2 Mar 2016 20:02:49 -0000
@@ -459,14 +459,14 @@ vndioctl(dev_t dev, u_long cmd, caddr_t 
                else {
                        error = VOP_GETATTR(nd.ni_vp, &vattr, p->p_ucred, p);
                        if (error) {
-                               VOP_UNLOCK(nd.ni_vp, 0, p);
+                               VOP_UNLOCK(nd.ni_vp, p);
                                vn_close(nd.ni_vp, VNDRW(sc), p->p_ucred, p);
                                disk_unlock(&sc->sc_dk);
                                return (error);
                        }
                        sc->sc_size = vattr.va_size / sc->sc_secsize;
                }
-               VOP_UNLOCK(nd.ni_vp, 0, p);
+               VOP_UNLOCK(nd.ni_vp, p);
                sc->sc_vp = nd.ni_vp;
                if ((error = vndsetcred(sc, p->p_ucred)) != 0) {
                        (void) vn_close(nd.ni_vp, VNDRW(sc), p->p_ucred, p);
Index: sys/dev/usb/uvideo.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/uvideo.c,v
retrieving revision 1.183
diff -u -p -r1.183 uvideo.c
--- sys/dev/usb/uvideo.c        20 Dec 2015 10:08:05 -0000      1.183
+++ sys/dev/usb/uvideo.c        2 Mar 2016 20:02:50 -0000
@@ -2775,7 +2775,7 @@ uvideo_debug_file_open(struct uvideo_sof
        }
 
        sc->sc_vp = nd.ni_vp;
-       VOP_UNLOCK(sc->sc_vp, 0, p);
+       VOP_UNLOCK(sc->sc_vp, p);
        if (nd.ni_vp->v_type != VREG) {
                vn_close(nd.ni_vp, FWRITE, p->p_ucred, p);
                return (EIO);
Index: sys/isofs/cd9660/cd9660_lookup.c
===================================================================
RCS file: /cvs/src/sys/isofs/cd9660/cd9660_lookup.c,v
retrieving revision 1.23
diff -u -p -r1.23 cd9660_lookup.c
--- sys/isofs/cd9660/cd9660_lookup.c    14 Mar 2015 03:38:50 -0000      1.23
+++ sys/isofs/cd9660/cd9660_lookup.c    2 Mar 2016 20:02:50 -0000
@@ -377,7 +377,7 @@ found:
         */
        if (flags & ISDOTDOT) {
                brelse(bp);
-               VOP_UNLOCK(pdp, 0, p);  /* race to get the inode */
+               VOP_UNLOCK(pdp, p);     /* race to get the inode */
                cnp->cn_flags |= PDIRUNLOCK;
                error = cd9660_vget_internal(vdp->v_mount, dp->i_ino, &tdp,
                            dp->i_ino != ino, NULL);
@@ -405,7 +405,7 @@ found:
                if (error)
                        return (error);
                if (!lockparent || !(flags & ISLASTCN)) {
-                       VOP_UNLOCK(pdp, 0, p);
+                       VOP_UNLOCK(pdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                *vpp = tdp;
Index: sys/isofs/cd9660/cd9660_node.c
===================================================================
RCS file: /cvs/src/sys/isofs/cd9660/cd9660_node.c,v
retrieving revision 1.29
diff -u -p -r1.29 cd9660_node.c
--- sys/isofs/cd9660/cd9660_node.c      14 Mar 2015 03:38:50 -0000      1.29
+++ sys/isofs/cd9660/cd9660_node.c      2 Mar 2016 20:02:50 -0000
@@ -194,7 +194,7 @@ cd9660_inactive(v)
 #endif
        
        ip->i_flag = 0;
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        /*
         * If we are done with the inode, reclaim it
         * so that it can be reused immediately.
Index: sys/isofs/cd9660/cd9660_vfsops.c
===================================================================
RCS file: /cvs/src/sys/isofs/cd9660/cd9660_vfsops.c,v
retrieving revision 1.72
diff -u -p -r1.72 cd9660_vfsops.c
--- sys/isofs/cd9660/cd9660_vfsops.c    27 Feb 2016 18:50:38 -0000      1.72
+++ sys/isofs/cd9660/cd9660_vfsops.c    2 Mar 2016 20:02:51 -0000
@@ -190,7 +190,7 @@ cd9660_mount(mp, path, data, ndp, p)
                        vput(devvp);
                        return (error);
                }
-               VOP_UNLOCK(devvp, 0, p);
+               VOP_UNLOCK(devvp, p);
        }
        if ((mp->mnt_flag & MNT_UPDATE) == 0)
                error = iso_mountfs(devvp, mp, p, &args);
@@ -261,7 +261,7 @@ iso_mountfs(devvp, mp, p, argp)
                return (EBUSY);
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = vinvalbuf(devvp, V_SAVE, p->p_ucred, p, 0, 0);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
        if (error)
                return (error);
 
@@ -452,7 +452,7 @@ out:
 
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        VOP_CLOSE(devvp, ronly ? FREAD : FREAD|FWRITE, NOCRED, p);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
 
        if (isomp) {
                free((caddr_t)isomp, M_ISOFSMNT, 0);
Index: sys/isofs/cd9660/cd9660_vnops.c
===================================================================
RCS file: /cvs/src/sys/isofs/cd9660/cd9660_vnops.c,v
retrieving revision 1.74
diff -u -p -r1.74 cd9660_vnops.c
--- sys/isofs/cd9660/cd9660_vnops.c     19 Jan 2016 19:11:21 -0000      1.74
+++ sys/isofs/cd9660/cd9660_vnops.c     2 Mar 2016 20:02:51 -0000
@@ -708,7 +708,7 @@ cd9660_unlock(void *v)
        struct vop_unlock_args *ap = v;
        struct vnode *vp = ap->a_vp;
 
-       return (lockmgr(&VTOI(vp)->i_lock, ap->a_flags | LK_RELEASE, NULL));
+       return (lockmgr(&VTOI(vp)->i_lock, LK_RELEASE, NULL));
 }
 
 /*
Index: sys/isofs/udf/udf_vfsops.c
===================================================================
RCS file: /cvs/src/sys/isofs/udf/udf_vfsops.c,v
retrieving revision 1.46
diff -u -p -r1.46 udf_vfsops.c
--- sys/isofs/udf/udf_vfsops.c  31 Aug 2015 06:56:25 -0000      1.46
+++ sys/isofs/udf/udf_vfsops.c  2 Mar 2016 20:02:51 -0000
@@ -171,7 +171,7 @@ udf_mount(struct mount *mp, const char *
        if (p->p_ucred->cr_uid) {
                vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
                error = VOP_ACCESS(devvp, VREAD, p->p_ucred, p);
-               VOP_UNLOCK(devvp, 0, p);
+               VOP_UNLOCK(devvp, p);
                if (error) {
                        vrele(devvp);
                        return (error);
@@ -251,7 +251,7 @@ udf_mountfs(struct vnode *devvp, struct 
                return (EBUSY);
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = vinvalbuf(devvp, V_SAVE, p->p_ucred, p, 0, 0);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
        if (error)
                return (error);
 
@@ -453,7 +453,7 @@ bail:
 
        vn_lock(devvp, LK_EXCLUSIVE|LK_RETRY, p);
        VOP_CLOSE(devvp, FREAD, FSCRED, p);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
 
        return (error);
 }
@@ -477,7 +477,7 @@ udf_unmount(struct mount *mp, int mntfla
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        vinvalbuf(devvp, V_SAVE, NOCRED, p, 0, 0);
        error = VOP_CLOSE(devvp, FREAD, NOCRED, p);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
        if (error)
                return (error);
 
Index: sys/isofs/udf/udf_vnops.c
===================================================================
RCS file: /cvs/src/sys/isofs/udf/udf_vnops.c,v
retrieving revision 1.62
diff -u -p -r1.62 udf_vnops.c
--- sys/isofs/udf/udf_vnops.c   2 Feb 2016 16:44:44 -0000       1.62
+++ sys/isofs/udf/udf_vnops.c   2 Mar 2016 20:02:51 -0000
@@ -911,7 +911,7 @@ udf_unlock(void *v)
 
        struct vnode *vp = ap->a_vp;
 
-       return (lockmgr(&VTOU(vp)->u_lock, ap->a_flags | LK_RELEASE, NULL));
+       return (lockmgr(&VTOU(vp)->u_lock, LK_RELEASE, NULL));
 }
 
 int
@@ -1105,7 +1105,7 @@ lookloop:
                                nchstats.ncs_pass2++;
                        if (!(flags & LOCKPARENT) || !(flags & ISLASTCN)) {
                                ap->a_cnp->cn_flags |= PDIRUNLOCK;
-                               VOP_UNLOCK(dvp, 0, p);
+                               VOP_UNLOCK(dvp, p);
                        }
 
                        *vpp = tdp;
@@ -1152,7 +1152,7 @@ udf_inactive(void *v)
        /*
         * No need to sync anything, so just unlock the vnode and return.
         */
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
 
        return (0);
 }
Index: sys/kern/exec_script.c
===================================================================
RCS file: /cvs/src/sys/kern/exec_script.c,v
retrieving revision 1.37
diff -u -p -r1.37 exec_script.c
--- sys/kern/exec_script.c      31 Dec 2015 18:55:33 -0000      1.37
+++ sys/kern/exec_script.c      2 Mar 2016 20:02:51 -0000
@@ -165,7 +165,7 @@ check_shell:
         */
        vn_lock(scriptvp, LK_EXCLUSIVE|LK_RETRY, p);
        error = VOP_ACCESS(scriptvp, VREAD, p->p_ucred, p);
-       VOP_UNLOCK(scriptvp, 0, p);
+       VOP_UNLOCK(scriptvp, p);
        if (error == EACCES || script_sbits) {
                struct file *fp;
 
Index: sys/kern/init_main.c
===================================================================
RCS file: /cvs/src/sys/kern/init_main.c,v
retrieving revision 1.248
diff -u -p -r1.248 init_main.c
--- sys/kern/init_main.c        3 Jan 2016 00:15:59 -0000       1.248
+++ sys/kern/init_main.c        2 Mar 2016 20:02:51 -0000
@@ -477,7 +477,7 @@ main(void *framep)
                panic("cannot find root vnode");
        p->p_fd->fd_cdir = rootvnode;
        vref(p->p_fd->fd_cdir);
-       VOP_UNLOCK(rootvnode, 0, p);
+       VOP_UNLOCK(rootvnode, p);
        p->p_fd->fd_rdir = NULL;
 
        /*
Index: sys/kern/kern_acct.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_acct.c,v
retrieving revision 1.30
diff -u -p -r1.30 kern_acct.c
--- sys/kern/kern_acct.c        5 Dec 2015 10:11:53 -0000       1.30
+++ sys/kern/kern_acct.c        2 Mar 2016 20:02:51 -0000
@@ -116,7 +116,7 @@ sys_acct(struct proc *p, void *v, regist
                    p);
                if ((error = vn_open(&nd, FWRITE|O_APPEND, 0)) != 0)
                        return (error);
-               VOP_UNLOCK(nd.ni_vp, 0, p);
+               VOP_UNLOCK(nd.ni_vp, p);
                if (nd.ni_vp->v_type != VREG) {
                        vn_close(nd.ni_vp, FWRITE, p->p_ucred, p);
                        return (EACCES);
Index: sys/kern/kern_descrip.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_descrip.c,v
retrieving revision 1.128
diff -u -p -r1.128 kern_descrip.c
--- sys/kern/kern_descrip.c     6 Jan 2016 17:59:30 -0000       1.128
+++ sys/kern/kern_descrip.c     2 Mar 2016 20:02:51 -0000
@@ -752,7 +752,7 @@ sys_fpathconf(struct proc *p, void *v, r
                vp = fp->f_data;
                vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
                error = VOP_PATHCONF(vp, SCARG(uap, name), retval);
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                break;
 
        default:
Index: sys/kern/kern_exec.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_exec.c,v
retrieving revision 1.173
diff -u -p -r1.173 kern_exec.c
--- sys/kern/kern_exec.c        5 Dec 2015 10:11:53 -0000       1.173
+++ sys/kern/kern_exec.c        2 Mar 2016 20:02:51 -0000
@@ -164,7 +164,7 @@ check_exec(struct proc *p, struct exec_p
                goto bad1;
 
        /* unlock vp, we need it unlocked from here */
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
 
        /* now we have the file, get the exec header */
        error = vn_rdwr(UIO_READ, vp, epp->ep_hdr, epp->ep_hdrlen, 0,
Index: sys/kern/kern_ktrace.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_ktrace.c,v
retrieving revision 1.86
diff -u -p -r1.86 kern_ktrace.c
--- sys/kern/kern_ktrace.c      6 Dec 2015 17:50:21 -0000       1.86
+++ sys/kern/kern_ktrace.c      2 Mar 2016 20:02:51 -0000
@@ -452,7 +452,7 @@ sys_ktrace(struct proc *p, void *v, regi
                        goto done;
                vp = nd.ni_vp;
 
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                if (vp->v_type != VREG) {
                        error = EACCES;
                        goto done;
Index: sys/kern/kern_sig.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_sig.c,v
retrieving revision 1.192
diff -u -p -r1.192 kern_sig.c
--- sys/kern/kern_sig.c 9 Jan 2016 06:13:43 -0000       1.192
+++ sys/kern/kern_sig.c 2 Mar 2016 20:02:52 -0000
@@ -1608,7 +1608,7 @@ coredump(struct proc *p)
         */
        vp = nd.ni_vp;
        if ((error = VOP_GETATTR(vp, &vattr, cred, p)) != 0) {
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                vn_close(vp, FWRITE, cred, p);
                goto out;
        }
@@ -1616,7 +1616,7 @@ coredump(struct proc *p)
            vattr.va_mode & ((VREAD | VWRITE) >> 3 | (VREAD | VWRITE) >> 6) ||
            vattr.va_uid != cred->cr_uid) {
                error = EACCES;
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                vn_close(vp, FWRITE, cred, p);
                goto out;
        }
@@ -1629,7 +1629,7 @@ coredump(struct proc *p)
        io.io_vp = vp;
        io.io_cred = cred;
        io.io_offset = 0;
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        vref(vp);
        error = vn_close(vp, FWRITE, cred, p);
        if (error == 0)
Index: sys/kern/spec_vnops.c
===================================================================
RCS file: /cvs/src/sys/kern/spec_vnops.c,v
retrieving revision 1.85
diff -u -p -r1.85 spec_vnops.c
--- sys/kern/spec_vnops.c       19 Jan 2016 19:13:38 -0000      1.85
+++ sys/kern/spec_vnops.c       2 Mar 2016 20:02:52 -0000
@@ -154,7 +154,7 @@ spec_open(void *v)
                        vp->v_flag |= VISTTY;
                if (cdevsw[maj].d_flags & D_CLONE)
                        return (spec_open_clone(ap));
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                error = (*cdevsw[maj].d_open)(dev, ap->a_mode, S_IFCHR, p);
                vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
                return (error);
@@ -219,7 +219,7 @@ spec_read(void *v)
        switch (vp->v_type) {
 
        case VCHR:
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                error = (*cdevsw[major(vp->v_rdev)].d_read)
                        (vp->v_rdev, uio, ap->a_ioflag);
                vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
@@ -273,7 +273,7 @@ spec_inactive(void *v)
 {
        struct vop_inactive_args *ap = v;
 
-       VOP_UNLOCK(ap->a_vp, 0, ap->a_p);
+       VOP_UNLOCK(ap->a_vp, ap->a_p);
        return (0);
 }
 
@@ -306,7 +306,7 @@ spec_write(void *v)
        switch (vp->v_type) {
 
        case VCHR:
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                error = (*cdevsw[major(vp->v_rdev)].d_write)
                        (vp->v_rdev, uio, ap->a_ioflag);
                vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
@@ -525,7 +525,7 @@ spec_close(void *v)
                        vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
                error = vinvalbuf(vp, V_SAVE, ap->a_cred, p, 0, 0);
                if (!(vp->v_flag & VXLOCK))
-                       VOP_UNLOCK(vp, 0, p);
+                       VOP_UNLOCK(vp, p);
                if (error)
                        return (error);
                /*
@@ -550,7 +550,7 @@ spec_close(void *v)
        /* release lock if held and this isn't coming from vclean() */
        relock = VOP_ISLOCKED(vp) && !(vp->v_flag & VXLOCK);
        if (relock)
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
        error = (*devclose)(dev, ap->a_fflag, mode, p);
        if (relock)
                vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
@@ -582,7 +582,7 @@ spec_setattr(void *v)
 
        vn_lock(vp->v_specparent, LK_EXCLUSIVE|LK_RETRY, p);
        error = VOP_SETATTR(vp->v_specparent, ap->a_vap, ap->a_cred, p);
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
 
        return (error);
 }
@@ -723,7 +723,7 @@ spec_open_clone(struct vop_open_args *ap
                return (error); /* out of vnodes */
        }
 
-       VOP_UNLOCK(vp, 0, ap->a_p);
+       VOP_UNLOCK(vp, ap->a_p);
 
        error = cdevsw[major(vp->v_rdev)].d_open(cvp->v_rdev, ap->a_mode,
            S_IFCHR, ap->a_p);
Index: sys/kern/tty.c
===================================================================
RCS file: /cvs/src/sys/kern/tty.c,v
retrieving revision 1.129
diff -u -p -r1.129 tty.c
--- sys/kern/tty.c      28 Jan 2016 18:02:36 -0000      1.129
+++ sys/kern/tty.c      2 Mar 2016 20:02:52 -0000
@@ -803,7 +803,7 @@ ttioctl(struct tty *tp, u_long cmd, cadd
                                return (error);
                        vn_lock(nid.ni_vp, LK_EXCLUSIVE | LK_RETRY, p);
                        error = VOP_ACCESS(nid.ni_vp, VREAD, p->p_ucred, p);
-                       VOP_UNLOCK(nid.ni_vp, 0, p);
+                       VOP_UNLOCK(nid.ni_vp, p);
                        vrele(nid.ni_vp);
                        if (error)
                                return (error);
Index: sys/kern/tty_pty.c
===================================================================
RCS file: /cvs/src/sys/kern/tty_pty.c,v
retrieving revision 1.76
diff -u -p -r1.76 tty_pty.c
--- sys/kern/tty_pty.c  28 Jan 2016 18:02:36 -0000      1.76
+++ sys/kern/tty_pty.c  2 Mar 2016 20:02:52 -0000
@@ -1112,7 +1112,7 @@ retry:
                cfp->f_type = DTYPE_VNODE;
                cfp->f_ops = &vnops;
                cfp->f_data = (caddr_t) cnd.ni_vp;
-               VOP_UNLOCK(cnd.ni_vp, 0, p);
+               VOP_UNLOCK(cnd.ni_vp, p);
 
                /*
                 * Open the slave.
@@ -1146,7 +1146,7 @@ retry:
                                goto bad;
                        }
                }
-               VOP_UNLOCK(snd.ni_vp, 0, p);
+               VOP_UNLOCK(snd.ni_vp, p);
                if (snd.ni_vp->v_usecount > 1 ||
                    (snd.ni_vp->v_flag & (VALIASED)))
                        VOP_REVOKE(snd.ni_vp, REVOKEALL);
@@ -1167,7 +1167,7 @@ retry:
                sfp->f_type = DTYPE_VNODE;
                sfp->f_ops = &vnops;
                sfp->f_data = (caddr_t) snd.ni_vp;
-               VOP_UNLOCK(snd.ni_vp, 0, p);
+               VOP_UNLOCK(snd.ni_vp, p);
 
                /* now, put the indexen and names into struct ptmget */
                ptm->cfd = cindx;
Index: sys/kern/tty_tty.c
===================================================================
RCS file: /cvs/src/sys/kern/tty_tty.c,v
retrieving revision 1.17
diff -u -p -r1.17 tty_tty.c
--- sys/kern/tty_tty.c  5 Dec 2015 10:11:53 -0000       1.17
+++ sys/kern/tty_tty.c  2 Mar 2016 20:02:52 -0000
@@ -59,7 +59,7 @@ cttyopen(dev_t dev, int flag, int mode, 
                return (ENXIO);
        vn_lock(ttyvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = VOP_OPEN(ttyvp, flag, NOCRED, p);
-       VOP_UNLOCK(ttyvp, 0, p);
+       VOP_UNLOCK(ttyvp, p);
        return (error);
 }
 
@@ -74,7 +74,7 @@ cttyread(dev_t dev, struct uio *uio, int
                return (EIO);
        vn_lock(ttyvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = VOP_READ(ttyvp, uio, flag, NOCRED);
-       VOP_UNLOCK(ttyvp, 0, p);
+       VOP_UNLOCK(ttyvp, p);
        return (error);
 }
 
@@ -89,7 +89,7 @@ cttywrite(dev_t dev, struct uio *uio, in
                return (EIO);
        vn_lock(ttyvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = VOP_WRITE(ttyvp, uio, flag, NOCRED);
-       VOP_UNLOCK(ttyvp, 0, p);
+       VOP_UNLOCK(ttyvp, p);
        return (error);
 }
 
Index: sys/kern/uipc_usrreq.c
===================================================================
RCS file: /cvs/src/sys/kern/uipc_usrreq.c,v
retrieving revision 1.95
diff -u -p -r1.95 uipc_usrreq.c
--- sys/kern/uipc_usrreq.c      5 Dec 2015 10:11:53 -0000       1.95
+++ sys/kern/uipc_usrreq.c      2 Mar 2016 20:02:52 -0000
@@ -468,7 +468,7 @@ unp_bind(struct unpcb *unp, struct mbuf 
        unp->unp_connid.gid = p->p_ucred->cr_gid;
        unp->unp_connid.pid = p->p_p->ps_pid;
        unp->unp_flags |= UNP_FEIDSBIND;
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        return (0);
 }
 
Index: sys/kern/vfs_cache.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_cache.c,v
retrieving revision 1.47
diff -u -p -r1.47 vfs_cache.c
--- sys/kern/vfs_cache.c        14 Mar 2015 03:38:51 -0000      1.47
+++ sys/kern/vfs_cache.c        2 Mar 2016 20:02:52 -0000
@@ -202,7 +202,7 @@ cache_lookup(struct vnode *dvp, struct v
                vref(dvp);
                error = 0;
        } else if (cnp->cn_flags & ISDOTDOT) {
-               VOP_UNLOCK(dvp, 0, p);
+               VOP_UNLOCK(dvp, p);
                cnp->cn_flags |= PDIRUNLOCK;
                error = vget(vp, LK_EXCLUSIVE, p);
                /*
@@ -223,7 +223,7 @@ cache_lookup(struct vnode *dvp, struct v
                 * ISLASTCN is set, unlock the directory vnode.
                 */
                if (error || (~cnp->cn_flags & (LOCKPARENT|ISLASTCN)) != 0) {
-                       VOP_UNLOCK(dvp, 0, p);
+                       VOP_UNLOCK(dvp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
        }
Index: sys/kern/vfs_getcwd.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_getcwd.c,v
retrieving revision 1.25
diff -u -p -r1.25 vfs_getcwd.c
--- sys/kern/vfs_getcwd.c       14 Mar 2015 03:38:51 -0000      1.25
+++ sys/kern/vfs_getcwd.c       2 Mar 2016 20:02:52 -0000
@@ -226,7 +226,7 @@ vfs_getcwd_getcache(struct vnode **lvpp,
 
 
        /* Release current lock before acquiring the parent lock */
-       VOP_UNLOCK(lvp, 0, p);
+       VOP_UNLOCK(lvp, p);
 
        error = vget(uvp, LK_EXCLUSIVE | LK_RETRY, p);
        if (error)
Index: sys/kern/vfs_lookup.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_lookup.c,v
retrieving revision 1.59
diff -u -p -r1.59 vfs_lookup.c
--- sys/kern/vfs_lookup.c       2 Nov 2015 16:31:55 -0000       1.59
+++ sys/kern/vfs_lookup.c       2 Mar 2016 20:02:52 -0000
@@ -216,7 +216,7 @@ fail:
                        return (0);
                }
                if ((cnp->cn_flags & LOCKPARENT) && (cnp->cn_flags & ISLASTCN))
-                       VOP_UNLOCK(ndp->ni_dvp, 0, p);
+                       VOP_UNLOCK(ndp->ni_dvp, p);
                if (ndp->ni_loopcnt++ >= SYMLOOP_MAX) {
                        error = ELOOP;
                        break;
@@ -547,7 +547,7 @@ dirloop:
            (cnp->cn_flags & NOCROSSMOUNT) == 0) {
                if (vfs_busy(mp, VB_READ|VB_WAIT))
                        continue;
-               VOP_UNLOCK(dp, 0, p);
+               VOP_UNLOCK(dp, p);
                error = VFS_ROOT(mp, &tdp);
                vfs_unbusy(mp);
                if (error) {
@@ -614,13 +614,13 @@ terminal:
                        vrele(ndp->ni_dvp);
        }
        if ((cnp->cn_flags & LOCKLEAF) == 0)
-               VOP_UNLOCK(dp, 0, p);
+               VOP_UNLOCK(dp, p);
        return (0);
 
 bad2:
        if ((cnp->cn_flags & LOCKPARENT) && (cnp->cn_flags & ISLASTCN) &&
            ((cnp->cn_flags & PDIRUNLOCK) == 0))
-               VOP_UNLOCK(ndp->ni_dvp, 0, p);
+               VOP_UNLOCK(ndp->ni_dvp, p);
        vrele(ndp->ni_dvp);
 bad:
        if (dpunlocked)
@@ -748,12 +748,12 @@ vfs_relookup(struct vnode *dvp, struct v
        if (!wantparent)
                vrele(dvp);
        if ((cnp->cn_flags & LOCKLEAF) == 0)
-               VOP_UNLOCK(dp, 0, p);
+               VOP_UNLOCK(dp, p);
        return (0);
 
 bad2:
        if ((cnp->cn_flags & LOCKPARENT) && (cnp->cn_flags & ISLASTCN))
-               VOP_UNLOCK(dvp, 0, p);
+               VOP_UNLOCK(dvp, p);
        vrele(dvp);
 bad:
        vput(dp);
Index: sys/kern/vfs_subr.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_subr.c,v
retrieving revision 1.238
diff -u -p -r1.238 vfs_subr.c
--- sys/kern/vfs_subr.c 5 Dec 2015 10:11:53 -0000       1.238
+++ sys/kern/vfs_subr.c 2 Mar 2016 20:02:53 -0000
@@ -576,7 +576,7 @@ loop:
         * The vnodes created by bdevvp should not be aliased (why?).
         */
 
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        vclean(vp, 0, p);
        vp->v_op = nvp->v_op;
        vp->v_tag = nvp->v_tag;
@@ -707,7 +707,7 @@ vput(struct vnode *vp)
 #endif
        vp->v_usecount--;
        if (vp->v_usecount > 0) {
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                return;
        }
 
@@ -974,7 +974,7 @@ vclean(struct vnode *vp, int flags, stru
                 * Any other processes trying to obtain this lock must first
                 * wait for VXLOCK to clear, then call the new lock operation.
                 */
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
        }
 
        /*
Index: sys/kern/vfs_sync.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_sync.c,v
retrieving revision 1.54
diff -u -p -r1.54 vfs_sync.c
--- sys/kern/vfs_sync.c 14 Mar 2015 03:38:51 -0000      1.54
+++ sys/kern/vfs_sync.c 2 Mar 2016 20:02:53 -0000
@@ -360,7 +360,7 @@ sync_inactive(void *v)
        int s;
 
        if (vp->v_usecount == 0) {
-               VOP_UNLOCK(vp, 0, ap->a_p);
+               VOP_UNLOCK(vp, ap->a_p);
                return (0);
        }
 
Index: sys/kern/vfs_syscalls.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_syscalls.c,v
retrieving revision 1.251
diff -u -p -r1.251 vfs_syscalls.c
--- sys/kern/vfs_syscalls.c     6 Jan 2016 17:59:30 -0000       1.251
+++ sys/kern/vfs_syscalls.c     2 Mar 2016 20:02:53 -0000
@@ -297,7 +297,7 @@ update:
                vfsp->vfc_refcount++;
                TAILQ_INSERT_TAIL(&mountlist, mp, mnt_list);
                checkdirs(vp);
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                if ((mp->mnt_flag & MNT_RDONLY) == 0)
                        error = vfs_allocate_syncvnode(mp);
                vfs_unbusy(mp);
@@ -705,7 +705,7 @@ sys_fchdir(struct proc *p, void *v, regi
                vput(vp);
                return (error);
        }
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        old_cdir = fdp->fd_cdir;
        fdp->fd_cdir = vp;
        vrele(old_cdir);
@@ -793,7 +793,7 @@ change_dir(struct nameidata *ndp, struct
        if (error)
                vput(vp);
        else
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
        return (error);
 }
 
@@ -905,7 +905,7 @@ doopenat(struct proc *p, int fd, const c
                type = F_FLOCK;
                if ((flags & FNONBLOCK) == 0)
                        type |= F_WAIT;
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                error = VOP_ADVLOCK(vp, (caddr_t)fp, F_SETLK, &lf, type);
                if (error) {
                        /* closef will vn_close the file for us. */
@@ -929,14 +929,14 @@ doopenat(struct proc *p, int fd, const c
                        error = VOP_SETATTR(vp, &vattr, fp->f_cred, p);
                }
                if (error) {
-                       VOP_UNLOCK(vp, 0, p);
+                       VOP_UNLOCK(vp, p);
                        /* closef will close the file for us. */
                        fdremove(fdp, indx);
                        closef(fp, p);
                        goto out;
                }
        }
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        *retval = indx;
        FILE_SET_MATURE(fp, p);
 out:
@@ -1089,7 +1089,7 @@ sys_fhopen(struct proc *p, void *v, regi
                type = F_FLOCK;
                if ((flags & FNONBLOCK) == 0)
                        type |= F_WAIT;
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                error = VOP_ADVLOCK(vp, (caddr_t)fp, F_SETLK, &lf, type);
                if (error) {
                        vp = NULL;      /* closef will vn_close the file */
@@ -1098,7 +1098,7 @@ sys_fhopen(struct proc *p, void *v, regi
                vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
                fp->f_iflags |= FIF_HASLOCK;
        }
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        *retval = indx;
        FILE_SET_MATURE(fp, p);
 
@@ -2040,7 +2040,7 @@ sys_fchmod(struct proc *p, void *v, regi
                vattr.va_mode = mode & ALLPERMS;
                error = VOP_SETATTR(vp, &vattr, p->p_ucred, p);
        }
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        FRELE(fp, p);
        return (error);
 }
@@ -2218,7 +2218,7 @@ sys_fchown(struct proc *p, void *v, regi
                error = VOP_SETATTR(vp, &vattr, p->p_ucred, p);
        }
 out:
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        FRELE(fp, p);
        return (error);
 }
@@ -2484,7 +2484,7 @@ sys_ftruncate(struct proc *p, void *v, r
                vattr.va_size = len;
                error = VOP_SETATTR(vp, &vattr, fp->f_cred, p);
        }
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
 bad:
        FRELE(fp, p);
        return (error);
@@ -2513,7 +2513,7 @@ sys_fsync(struct proc *p, void *v, regis
                error = softdep_fsync(vp);
 #endif
 
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        FRELE(fp, p);
        return (error);
 }
@@ -2749,7 +2749,7 @@ sys_getdents(struct proc *p, void *v, re
        auio.uio_offset = fp->f_offset;
        error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag);
        fp->f_offset = auio.uio_offset;
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        if (error)
                goto bad;
        *retval = buflen - auio.uio_resid;
Index: sys/kern/vfs_vnops.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_vnops.c,v
retrieving revision 1.83
diff -u -p -r1.83 vfs_vnops.c
--- sys/kern/vfs_vnops.c        6 Jan 2016 17:59:30 -0000       1.83
+++ sys/kern/vfs_vnops.c        2 Mar 2016 20:02:53 -0000
@@ -171,7 +171,7 @@ vn_open(struct nameidata *ndp, int fmode
 
                ndp->ni_vp = cip->ci_vp;        /* return cloned vnode */
                vp->v_data = cip->ci_data;      /* restore v_data */
-               VOP_UNLOCK(vp, 0, p);           /* keep a reference */
+               VOP_UNLOCK(vp, p);              /* keep a reference */
                vp = ndp->ni_vp;                /* for the increment below */
 
                free(cip, M_TEMP, sizeof(*cip));
@@ -311,7 +311,7 @@ vn_rdwr(enum uio_rw rw, struct vnode *vp
                error = VOP_WRITE(vp, &auio, ioflg, cred);
        }
        if ((ioflg & IO_NODELOCKED) == 0)
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
 
        if (aresid)
                *aresid = auio.uio_resid;
@@ -342,7 +342,7 @@ vn_read(struct file *fp, off_t *poff, st
                error = VOP_READ(vp, uio,
                    (fp->f_flag & FNONBLOCK) ? IO_NDELAY : 0, cred);
        *poff += count - uio->uio_resid;
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        return (error);
 }
 
@@ -374,7 +374,7 @@ vn_write(struct file *fp, off_t *poff, s
                *poff = uio->uio_offset;
        else
                *poff += count - uio->uio_resid;
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        return (error);
 }
 
Index: sys/kern/vfs_vops.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_vops.c,v
retrieving revision 1.14
diff -u -p -r1.14 vfs_vops.c
--- sys/kern/vfs_vops.c 19 Jul 2015 16:21:11 -0000      1.14
+++ sys/kern/vfs_vops.c 2 Mar 2016 20:02:53 -0000
@@ -517,11 +517,10 @@ VOP_LOCK(struct vnode *vp, int flags, st
 }
 
 int
-VOP_UNLOCK(struct vnode *vp, int flags, struct proc *p)
+VOP_UNLOCK(struct vnode *vp, struct proc *p)
 {
        struct vop_unlock_args a;
        a.a_vp = vp;
-       a.a_flags = flags;
        a.a_p = p;
 
        if (vp->v_op->vop_unlock == NULL)
Index: sys/miscfs/fifofs/fifo_vnops.c
===================================================================
RCS file: /cvs/src/sys/miscfs/fifofs/fifo_vnops.c,v
retrieving revision 1.49
diff -u -p -r1.49 fifo_vnops.c
--- sys/miscfs/fifofs/fifo_vnops.c      1 Sep 2015 07:17:57 -0000       1.49
+++ sys/miscfs/fifofs/fifo_vnops.c      2 Mar 2016 20:02:53 -0000
@@ -176,7 +176,7 @@ fifo_open(void *v)
        }
        if ((ap->a_mode & O_NONBLOCK) == 0) {
                if ((ap->a_mode & FREAD) && fip->fi_writers == 0) {
-                       VOP_UNLOCK(vp, 0, p);
+                       VOP_UNLOCK(vp, p);
                        error = tsleep(&fip->fi_readers,
                            PCATCH | PSOCK, "fifor", 0);
                        vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
@@ -184,7 +184,7 @@ fifo_open(void *v)
                                goto bad;
                }
                if ((ap->a_mode & FWRITE) && fip->fi_readers == 0) {
-                       VOP_UNLOCK(vp, 0, p);
+                       VOP_UNLOCK(vp, p);
                        error = tsleep(&fip->fi_writers,
                            PCATCH | PSOCK, "fifow", 0);
                        vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
@@ -219,7 +219,7 @@ fifo_read(void *v)
                return (0);
        if (ap->a_ioflag & IO_NDELAY)
                rso->so_state |= SS_NBIO;
-       VOP_UNLOCK(ap->a_vp, 0, p);
+       VOP_UNLOCK(ap->a_vp, p);
        error = soreceive(rso, NULL, uio, NULL, NULL, NULL, 0);
        vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY, p);
        if (ap->a_ioflag & IO_NDELAY) {
@@ -249,7 +249,7 @@ fifo_write(void *v)
 #endif
        if (ap->a_ioflag & IO_NDELAY)
                wso->so_state |= SS_NBIO;
-       VOP_UNLOCK(ap->a_vp, 0, p);
+       VOP_UNLOCK(ap->a_vp, p);
        error = sosend(wso, NULL, ap->a_uio, NULL, NULL, 0);
        vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY, p);
        if (ap->a_ioflag & IO_NDELAY)
@@ -335,7 +335,7 @@ fifo_inactive(void *v)
 {
        struct vop_inactive_args *ap = v;
 
-       VOP_UNLOCK(ap->a_vp, 0, ap->a_p);
+       VOP_UNLOCK(ap->a_vp, ap->a_p);
        return (0);
 }
 
Index: sys/miscfs/fuse/fuse_lookup.c
===================================================================
RCS file: /cvs/src/sys/miscfs/fuse/fuse_lookup.c,v
retrieving revision 1.10
diff -u -p -r1.10 fuse_lookup.c
--- sys/miscfs/fuse/fuse_lookup.c       16 Dec 2014 18:30:04 -0000      1.10
+++ sys/miscfs/fuse/fuse_lookup.c       2 Mar 2016 20:02:53 -0000
@@ -100,7 +100,7 @@ fusefs_lookup(void *v)
                                cnp->cn_flags |= SAVENAME;
 
                                if (!lockparent) {
-                                       VOP_UNLOCK(vdp, 0, p);
+                                       VOP_UNLOCK(vdp, p);
                                        cnp->cn_flags |= PDIRUNLOCK;
                                }
 
@@ -155,7 +155,7 @@ fusefs_lookup(void *v)
        }
 
        if (flags & ISDOTDOT) {
-               VOP_UNLOCK(vdp, 0, p);  /* race to get the inode */
+               VOP_UNLOCK(vdp, p);     /* race to get the inode */
                cnp->cn_flags |= PDIRUNLOCK;
 
                error = VFS_VGET(fmp->mp, nid, &tdp);
@@ -199,7 +199,7 @@ fusefs_lookup(void *v)
                        VTOI(tdp)->parent = dp->ufs_ino.i_number;
 
                if (!lockparent || !(flags & ISLASTCN)) {
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
 
Index: sys/miscfs/fuse/fuse_vnops.c
===================================================================
RCS file: /cvs/src/sys/miscfs/fuse/fuse_vnops.c,v
retrieving revision 1.26
diff -u -p -r1.26 fuse_vnops.c
--- sys/miscfs/fuse/fuse_vnops.c        22 Jan 2016 17:09:43 -0000      1.26
+++ sys/miscfs/fuse/fuse_vnops.c        2 Mar 2016 20:02:53 -0000
@@ -606,7 +606,7 @@ fusefs_link(void *v)
 
 out1:
        if (dvp != vp)
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
 out2:
        vput(dvp);
        return (error);
@@ -767,7 +767,7 @@ fusefs_inactive(void *v)
 
        error = VOP_GETATTR(vp, &vattr, cred, p);
 
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
 
        if (error)
                vrecycle(vp, p);
@@ -1219,7 +1219,7 @@ abortit:
                    dp == ip ||
                    (fcnp->cn_flags & ISDOTDOT) ||
                    (tcnp->cn_flags & ISDOTDOT)) {
-                       VOP_UNLOCK(fvp, 0, p);
+                       VOP_UNLOCK(fvp, p);
                        error = EINVAL;
                        goto abortit;
                }
@@ -1228,13 +1228,13 @@ abortit:
 
        if (!fmp->sess_init) {
                error = ENXIO;
-               VOP_UNLOCK(fvp, 0, p);
+               VOP_UNLOCK(fvp, p);
                goto abortit;
        }
 
        if (fmp->undef_op & UNDEF_RENAME) {
                error = ENOSYS;
-               VOP_UNLOCK(fvp, 0, p);
+               VOP_UNLOCK(fvp, p);
                goto abortit;
        }
 
@@ -1256,14 +1256,14 @@ abortit:
                }
 
                fb_delete(fbuf);
-               VOP_UNLOCK(fvp, 0, p);
+               VOP_UNLOCK(fvp, p);
                goto abortit;
        }
 
        fb_delete(fbuf);
        VN_KNOTE(fvp, NOTE_RENAME);
 
-       VOP_UNLOCK(fvp, 0, p);
+       VOP_UNLOCK(fvp, p);
        if (tdvp == tvp)
                vrele(tdvp);
        else
@@ -1482,8 +1482,7 @@ fusefs_unlock(void *v)
        struct vop_unlock_args *ap = v;
        struct vnode *vp = ap->a_vp;
 
-       return (lockmgr(&VTOI(vp)->ufs_ino.i_lock, ap->a_flags | LK_RELEASE,
-           NULL));
+       return (lockmgr(&VTOI(vp)->ufs_ino.i_lock, LK_RELEASE, NULL));
 }
 
 int
Index: sys/msdosfs/msdosfs_denode.c
===================================================================
RCS file: /cvs/src/sys/msdosfs/msdosfs_denode.c,v
retrieving revision 1.55
diff -u -p -r1.55 msdosfs_denode.c
--- sys/msdosfs/msdosfs_denode.c        23 Oct 2015 17:21:34 -0000      1.55
+++ sys/msdosfs/msdosfs_denode.c        2 Mar 2016 20:02:54 -0000
@@ -661,7 +661,7 @@ msdosfs_inactive(void *v)
        deupdat(dep, 0);
 
 out:
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        /*
         * If we are done with the denode, reclaim it
         * so that it can be reused immediately.
Index: sys/msdosfs/msdosfs_lookup.c
===================================================================
RCS file: /cvs/src/sys/msdosfs/msdosfs_lookup.c,v
retrieving revision 1.29
diff -u -p -r1.29 msdosfs_lookup.c
--- sys/msdosfs/msdosfs_lookup.c        23 Oct 2015 17:21:34 -0000      1.29
+++ sys/msdosfs/msdosfs_lookup.c        2 Mar 2016 20:02:54 -0000
@@ -400,7 +400,7 @@ notfound:;
                 */
                cnp->cn_flags |= SAVENAME;
                if (!lockparent) {
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                return (EJUSTRETURN);
@@ -491,7 +491,7 @@ foundroot:;
                        return (error);
                *vpp = DETOV(tdp);
                if (!lockparent) {
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                return (0);
@@ -524,7 +524,7 @@ foundroot:;
                *vpp = DETOV(tdp);
                cnp->cn_flags |= SAVENAME;
                if (!lockparent)
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                return (0);
        }
 
@@ -549,7 +549,7 @@ foundroot:;
         */
        pdp = vdp;
        if (flags & ISDOTDOT) {
-               VOP_UNLOCK(pdp, 0, p);  /* race to get the inode */
+               VOP_UNLOCK(pdp, p);     /* race to get the inode */
                cnp->cn_flags |= PDIRUNLOCK;
                if ((error = deget(pmp, cluster, blkoff, &tdp)) != 0) {
                        if (vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, p) == 0)
@@ -572,7 +572,7 @@ foundroot:;
                if ((error = deget(pmp, cluster, blkoff, &tdp)) != 0)
                        return (error);
                if (!lockparent || !(flags & ISLASTCN)) {
-                       VOP_UNLOCK(pdp, 0, p);
+                       VOP_UNLOCK(pdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                *vpp = DETOV(tdp);
Index: sys/msdosfs/msdosfs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/msdosfs/msdosfs_vfsops.c,v
retrieving revision 1.73
diff -u -p -r1.73 msdosfs_vfsops.c
--- sys/msdosfs/msdosfs_vfsops.c        23 Oct 2015 17:21:34 -0000      1.73
+++ sys/msdosfs/msdosfs_vfsops.c        2 Mar 2016 20:02:54 -0000
@@ -148,7 +148,7 @@ msdosfs_mount(struct mount *mp, const ch
                                vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
                                error = VOP_ACCESS(devvp, VREAD | VWRITE,
                                                   p->p_ucred, p);
-                               VOP_UNLOCK(devvp, 0, p);
+                               VOP_UNLOCK(devvp, p);
                                if (error)
                                        return (error);
                        }
@@ -207,7 +207,7 @@ msdosfs_mount(struct mount *mp, const ch
                        accessmode |= VWRITE;
                vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
                error = VOP_ACCESS(devvp, accessmode, p->p_ucred, p);
-               VOP_UNLOCK(devvp, 0, p);
+               VOP_UNLOCK(devvp, p);
                if (error)
                        goto error_devvp;
        }
@@ -302,7 +302,7 @@ msdosfs_mountfs(struct vnode *devvp, str
                return (EBUSY);
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = vinvalbuf(devvp, V_SAVE, p->p_ucred, p, 0, 0);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
        if (error)
                return (error);
 
@@ -584,7 +584,7 @@ error_exit:
 
        vn_lock(devvp, LK_EXCLUSIVE|LK_RETRY, p);
        (void) VOP_CLOSE(devvp, ronly ? FREAD : FREAD|FWRITE, NOCRED, p);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
 
        if (pmp) {
                if (pmp->pm_inusemap)
@@ -706,7 +706,7 @@ msdosfs_sync_vnode(struct vnode *vp, voi
 
        if ((error = VOP_FSYNC(vp, msa->cred, msa->waitfor, msa->p)) != 0)
                msa->allerror = error;
-       VOP_UNLOCK(vp, 0, msa->p);
+       VOP_UNLOCK(vp, msa->p);
        vrele(vp);
 
        return (0);
@@ -748,7 +748,7 @@ msdosfs_sync(struct mount *mp, int waitf
                vn_lock(pmp->pm_devvp, LK_EXCLUSIVE | LK_RETRY, p);
                if ((error = VOP_FSYNC(pmp->pm_devvp, cred, waitfor, p)) != 0)
                        msa.allerror = error;
-               VOP_UNLOCK(pmp->pm_devvp, 0, p);
+               VOP_UNLOCK(pmp->pm_devvp, p);
        }
 
        return (msa.allerror);
Index: sys/msdosfs/msdosfs_vnops.c
===================================================================
RCS file: /cvs/src/sys/msdosfs/msdosfs_vnops.c,v
retrieving revision 1.107
diff -u -p -r1.107 msdosfs_vnops.c
--- sys/msdosfs/msdosfs_vnops.c 5 Feb 2016 19:27:02 -0000       1.107
+++ sys/msdosfs/msdosfs_vnops.c 2 Mar 2016 20:02:54 -0000
@@ -1003,7 +1003,7 @@ abortit:
                    (fcnp->cn_flags & ISDOTDOT) ||
                    (tcnp->cn_flags & ISDOTDOT) ||
                    (ip->de_flag & DE_RENAME)) {
-                       VOP_UNLOCK(fvp, 0, p);
+                       VOP_UNLOCK(fvp, p);
                        error = EINVAL;
                        goto abortit;
                }
@@ -1035,7 +1035,7 @@ abortit:
         * call to doscheckpath().
         */
        error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_proc);
-       VOP_UNLOCK(fvp, 0, p);
+       VOP_UNLOCK(fvp, p);
        if (VTODE(fdvp)->de_StartCluster != VTODE(tdvp)->de_StartCluster)
                newparent = 1;
        vrele(fdvp);
@@ -1104,7 +1104,7 @@ abortit:
        if ((fcnp->cn_flags & SAVESTART) == 0)
                panic("msdosfs_rename: lost from startdir");
        if (!newparent)
-               VOP_UNLOCK(tdvp, 0, p);
+               VOP_UNLOCK(tdvp, p);
        (void) vfs_relookup(fdvp, &fvp, fcnp);
        if (fvp == NULL) {
                /*
@@ -1114,7 +1114,7 @@ abortit:
                        panic("rename: lost dir entry");
                vrele(ap->a_fvp);
                if (newparent)
-                       VOP_UNLOCK(tdvp, 0, p);
+                       VOP_UNLOCK(tdvp, p);
                vrele(tdvp);
                return 0;
        }
@@ -1135,7 +1135,7 @@ abortit:
                        panic("rename: lost dir entry");
                vrele(ap->a_fvp);
                if (newparent)
-                       VOP_UNLOCK(fdvp, 0, p);
+                       VOP_UNLOCK(fdvp, p);
                xp = NULL;
        } else {
                vrele(fvp);
@@ -1157,7 +1157,7 @@ abortit:
                if (error) {
                        bcopy(oldname, ip->de_Name, 11);
                        if (newparent)
-                               VOP_UNLOCK(fdvp, 0, p);
+                               VOP_UNLOCK(fdvp, p);
                        goto bad;
                }
                ip->de_refcnt++;
@@ -1165,7 +1165,7 @@ abortit:
                if ((error = removede(zp, ip)) != 0) {
                        /* XXX should really panic here, fs is corrupt */
                        if (newparent)
-                               VOP_UNLOCK(fdvp, 0, p);
+                               VOP_UNLOCK(fdvp, p);
                        goto bad;
                }
 
@@ -1177,7 +1177,7 @@ abortit:
                        if (error) {
                                /* XXX should really panic here, fs is corrupt 
*/
                                if (newparent)
-                                       VOP_UNLOCK(fdvp, 0, p);
+                                       VOP_UNLOCK(fdvp, p);
                                goto bad;
                        }
                        ip->de_diroffset = to_diroffset;
@@ -1186,7 +1186,7 @@ abortit:
                }
                reinsert(ip);
                if (newparent)
-                       VOP_UNLOCK(fdvp, 0, p);
+                       VOP_UNLOCK(fdvp, p);
        }
 
        /*
@@ -1225,7 +1225,7 @@ abortit:
        VN_KNOTE(fvp, NOTE_RENAME);
 
 bad:
-       VOP_UNLOCK(fvp, 0, p);
+       VOP_UNLOCK(fvp, p);
        vrele(fdvp);
 bad1:
        if (xp)
@@ -1732,7 +1732,7 @@ msdosfs_unlock(void *v)
        struct vop_unlock_args *ap = v;
        struct vnode *vp = ap->a_vp;
 
-       return (lockmgr(&VTODE(vp)->de_lock, ap->a_flags | LK_RELEASE, NULL));
+       return (lockmgr(&VTODE(vp)->de_lock, LK_RELEASE, NULL));
 }
 
 int
Index: sys/nfs/nfs_node.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_node.c,v
retrieving revision 1.63
diff -u -p -r1.63 nfs_node.c
--- sys/nfs/nfs_node.c  9 Feb 2016 00:56:04 -0000       1.63
+++ sys/nfs/nfs_node.c  2 Mar 2016 20:02:54 -0000
@@ -202,7 +202,7 @@ nfs_inactive(void *v)
        }
        np->n_flag &= (NMODIFIED | NFLUSHINPROG | NFLUSHWANT);
 
-       VOP_UNLOCK(ap->a_vp, 0, ap->a_p);
+       VOP_UNLOCK(ap->a_vp, ap->a_p);
        return (0);
 }
 
Index: sys/nfs/nfs_serv.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_serv.c,v
retrieving revision 1.106
diff -u -p -r1.106 nfs_serv.c
--- sys/nfs/nfs_serv.c  30 Aug 2015 02:18:28 -0000      1.106
+++ sys/nfs/nfs_serv.c  2 Mar 2016 20:02:54 -0000
@@ -2095,7 +2095,7 @@ nfsrv_readdir(struct nfsrv_descript *nfs
                error = 0;
                goto nfsmout;
        }
-       VOP_UNLOCK(vp, 0, procp);
+       VOP_UNLOCK(vp, procp);
        rbuf = malloc(fullsiz, M_TEMP, M_WAITOK);
 again:
        iv.iov_base = rbuf;
@@ -2119,7 +2119,7 @@ again:
                        error = getret;
        }
 
-       VOP_UNLOCK(vp, 0, procp);
+       VOP_UNLOCK(vp, procp);
        if (error) {
                vrele(vp);
                free(rbuf, M_TEMP, fullsiz);
@@ -2294,7 +2294,7 @@ nfsrv_readdirplus(struct nfsrv_descript 
                error = 0;
                goto nfsmout;
        }
-       VOP_UNLOCK(vp, 0, procp);
+       VOP_UNLOCK(vp, procp);
 
        rbuf = malloc(fullsiz, M_TEMP, M_WAITOK);
 again:
@@ -2315,7 +2315,7 @@ again:
        off = (u_quad_t)io.uio_offset;
        getret = VOP_GETATTR(vp, &at, cred, procp);
 
-       VOP_UNLOCK(vp, 0, procp);
+       VOP_UNLOCK(vp, procp);
 
        if (!error)
                error = getret;
Index: sys/nfs/nfs_subs.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_subs.c,v
retrieving revision 1.129
diff -u -p -r1.129 nfs_subs.c
--- sys/nfs/nfs_subs.c  13 Feb 2016 15:45:05 -0000      1.129
+++ sys/nfs/nfs_subs.c  2 Mar 2016 20:02:55 -0000
@@ -1470,7 +1470,7 @@ nfsrv_fhtovp(fhandle_t *fhp, int lockfla
        else
                *rdonlyp = 0;
        if (!lockflag)
-               VOP_UNLOCK(*vpp, 0, p);
+               VOP_UNLOCK(*vpp, p);
 
        return (0);
 }
Index: sys/nfs/nfs_vnops.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_vnops.c,v
retrieving revision 1.167
diff -u -p -r1.167 nfs_vnops.c
--- sys/nfs/nfs_vnops.c 13 Feb 2016 15:45:05 -0000      1.167
+++ sys/nfs/nfs_vnops.c 2 Mar 2016 20:02:55 -0000
@@ -783,7 +783,7 @@ nfs_lookup(void *v)
                                cnp->cn_flags |= SAVENAME;
                        if ((!lockparent || !(flags & ISLASTCN)) &&
                             newvp != dvp)
-                               VOP_UNLOCK(dvp, 0, p);
+                               VOP_UNLOCK(dvp, p);
                        return (0);
                }
                cache_purge(newvp);
@@ -840,7 +840,7 @@ dorpc:
                m_freem(info.nmi_mrep);
                cnp->cn_flags |= SAVENAME;
                if (!lockparent) {
-                       VOP_UNLOCK(dvp, 0, p);
+                       VOP_UNLOCK(dvp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                return (0);
@@ -861,7 +861,7 @@ dorpc:
                } else
                        nfsm_loadattr(newvp, NULL);
        } else if (flags & ISDOTDOT) {
-               VOP_UNLOCK(dvp, 0, p);
+               VOP_UNLOCK(dvp, p);
                cnp->cn_flags |= PDIRUNLOCK;
 
                error = nfs_nget(dvp->v_mount, fhp, fhsize, &np);
@@ -901,7 +901,7 @@ dorpc:
                } else
                        nfsm_loadattr(newvp, NULL);
                if (!lockparent || !(flags & ISLASTCN)) {
-                       VOP_UNLOCK(dvp, 0, p);
+                       VOP_UNLOCK(dvp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
        }
@@ -931,7 +931,7 @@ nfsmout: 
                if (newvp != NULLVP) {
                        vrele(newvp);
                        if (newvp != dvp)
-                               VOP_UNLOCK(newvp, 0, p);
+                               VOP_UNLOCK(newvp, p);
                }
                if ((cnp->cn_nameiop == CREATE || cnp->cn_nameiop == RENAME) &&
                    (flags & ISLASTCN) && error == ENOENT) {
Index: sys/ntfs/ntfs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/ntfs/ntfs_vfsops.c,v
retrieving revision 1.45
diff -u -p -r1.45 ntfs_vfsops.c
--- sys/ntfs/ntfs_vfsops.c      27 Feb 2016 18:50:38 -0000      1.45
+++ sys/ntfs/ntfs_vfsops.c      2 Mar 2016 20:02:55 -0000
@@ -196,7 +196,7 @@ ntfs_mount(struct mount *mp, const char 
                amode = (mp->mnt_flag & MNT_RDONLY) ? VREAD : (VREAD | VWRITE);
                vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
                err = VOP_ACCESS(devvp, amode, p->p_ucred, p);
-               VOP_UNLOCK(devvp, 0, p);
+               VOP_UNLOCK(devvp, p);
                if (err)
                        goto error_2;
        }
@@ -299,7 +299,7 @@ ntfs_mountfs(struct vnode *devvp, struct
                return (EBUSY);
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = vinvalbuf(devvp, V_SAVE, p->p_ucred, p, 0, 0);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
        if (error)
                return (error);
 
@@ -463,7 +463,7 @@ out:
        /* lock the device vnode before calling VOP_CLOSE() */
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        (void)VOP_CLOSE(devvp, ronly ? FREAD : FREAD|FWRITE, NOCRED, p);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
        
        return (error);
 }
Index: sys/ntfs/ntfs_vnops.c
===================================================================
RCS file: /cvs/src/sys/ntfs/ntfs_vnops.c,v
retrieving revision 1.40
diff -u -p -r1.40 ntfs_vnops.c
--- sys/ntfs/ntfs_vnops.c       14 Mar 2015 03:38:52 -0000      1.40
+++ sys/ntfs/ntfs_vnops.c       2 Mar 2016 20:02:55 -0000
@@ -192,7 +192,7 @@ ntfs_inactive(void *v)
                vprint("ntfs_inactive: pushing active", vp);
 #endif
 
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
 
        /* XXX since we don't support any filesystem changes
         * right now, nothing more needs to be done
@@ -634,7 +634,7 @@ ntfs_lookup(void *v)
                DPRINTF("ntfs_lookup: faking .. directory in %u\n",
                    dip->i_number);
 
-               VOP_UNLOCK(dvp, 0, p);
+               VOP_UNLOCK(dvp, p);
                cnp->cn_flags |= PDIRUNLOCK;
 
                error = ntfs_ntvattrget(ntmp, dip, NTFS_A_NAME, NULL, 0, &vap);
@@ -671,7 +671,7 @@ ntfs_lookup(void *v)
                    VTONT(*ap->a_vpp)->i_number);
 
                if(!lockparent || (cnp->cn_flags & ISLASTCN) == 0) {
-                       VOP_UNLOCK(dvp, 0, p);
+                       VOP_UNLOCK(dvp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
        }
Index: sys/sys/vnode.h
===================================================================
RCS file: /cvs/src/sys/sys/vnode.h,v
retrieving revision 1.133
diff -u -p -r1.133 vnode.h
--- sys/sys/vnode.h     3 Nov 2015 06:25:01 -0000       1.133
+++ sys/sys/vnode.h     2 Mar 2016 20:02:55 -0000
@@ -516,10 +516,9 @@ int VOP_LOCK(struct vnode *, int, struct
 
 struct vop_unlock_args {
        struct vnode *a_vp;
-       int a_flags;
        struct proc *a_p;
 };
-int VOP_UNLOCK(struct vnode *, int, struct proc *);
+int VOP_UNLOCK(struct vnode *, struct proc *);
 
 struct vop_bmap_args {
        struct vnode *a_vp;
Index: sys/tmpfs/tmpfs_vnops.c
===================================================================
RCS file: /cvs/src/sys/tmpfs/tmpfs_vnops.c,v
retrieving revision 1.24
diff -u -p -r1.24 tmpfs_vnops.c
--- sys/tmpfs/tmpfs_vnops.c     6 Feb 2016 16:10:23 -0000       1.24
+++ sys/tmpfs/tmpfs_vnops.c     2 Mar 2016 20:02:55 -0000
@@ -182,7 +182,7 @@ tmpfs_lookup(void *v)
                 * and thus prevents parent from disappearing.
                 */
                rw_enter_write(&pnode->tn_nlock);
-               VOP_UNLOCK(dvp, 0, curproc);
+               VOP_UNLOCK(dvp, curproc);
 
                /*
                 * Get a vnode of the '..' entry and re-acquire the lock.
@@ -295,7 +295,7 @@ out:
        if ((error == 0 || error == EJUSTRETURN) && /* (1) */
            *vpp != dvp &&                          /* (2) */
            (!lockparent || !lastcn)) {             /* (3) */
-               VOP_UNLOCK(dvp, 0, curproc);
+               VOP_UNLOCK(dvp, curproc);
                cnp->cn_flags |= PDIRUNLOCK;
        } else
                KASSERT(VOP_ISLOCKED(dvp));
@@ -829,7 +829,7 @@ tmpfs_link(void *v)
        error = 0;
 out:
        pool_put(&namei_pool, cnp->cn_pnbuf);
-       VOP_UNLOCK(vp, 0, curproc);
+       VOP_UNLOCK(vp, curproc);
        vput(dvp);
        return error;
 }
@@ -1041,7 +1041,7 @@ tmpfs_inactive(void *v)
        if (vp->v_type == VREG && tmpfs_uio_cached(node))
                tmpfs_uio_uncache(node);
 
-       VOP_UNLOCK(vp, 0, curproc);
+       VOP_UNLOCK(vp, curproc);
 
        /*
         * If we are done with the node, reclaim it so that it can be reused
@@ -1198,7 +1198,7 @@ tmpfs_unlock(void *v)
        struct vop_unlock_args *ap = v;
        tmpfs_node_t *tnp = VP_TO_TMPFS_NODE(ap->a_vp);
 
-       return lockmgr(&tnp->tn_vlock, ap->a_flags | LK_RELEASE, NULL);
+       return lockmgr(&tnp->tn_vlock, LK_RELEASE, NULL);
 }
 
 int
@@ -1348,9 +1348,9 @@ tmpfs_rename(void *v)
         * the caller does reject rename("x/.", "y").  Go figure.)
         */
 
-       VOP_UNLOCK(tdvp, 0, curproc);
+       VOP_UNLOCK(tdvp, curproc);
        if ((tvp != NULL) && (tvp != tdvp))
-               VOP_UNLOCK(tvp, 0, curproc);
+               VOP_UNLOCK(tvp, curproc);
 
        vrele(fvp);
        if (tvp != NULL)
@@ -1776,7 +1776,7 @@ fail3:    if (tvp != NULL) {
        }
 
 fail2: vput(fvp);
-fail1: VOP_UNLOCK(dvp, 0, curproc);
+fail1: VOP_UNLOCK(dvp, curproc);
 fail0: return error;
 }
 
@@ -1879,10 +1879,10 @@ tmpfs_rename_exit(struct tmpfs_mount *tm
                else
                        vrele(tvp);
        }
-       VOP_UNLOCK(tdvp, 0, curproc);
+       VOP_UNLOCK(tdvp, curproc);
        vput(fvp);
        if (fdvp != tdvp)
-               VOP_UNLOCK(fdvp, 0, curproc);
+               VOP_UNLOCK(fdvp, curproc);
 
 #if 0                          /* XXX */
        if (fdvp != tdvp)
@@ -1906,7 +1906,7 @@ tmpfs_rename_lock_directory(struct vnode
 
        vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, curproc);
        if (node->tn_spec.tn_dir.tn_parent == NULL) {
-               VOP_UNLOCK(vp, 0, curproc);
+               VOP_UNLOCK(vp, curproc);
                return ENOENT;
        }
 
@@ -1976,7 +1976,7 @@ tmpfs_rename_genealogy(struct tmpfs_node
                node = parent;
        }
 
-       VOP_UNLOCK(tdnode->tn_vnode, 0, curproc);
+       VOP_UNLOCK(tdnode->tn_vnode, curproc);
        return 0;
 }
 
@@ -2164,7 +2164,7 @@ fail4:    if (b_vp != NULL) {
        }
 
 fail3: KASSERT(VOP_ISLOCKED(b_dvp) == LK_EXCLUSIVE);
-       VOP_UNLOCK(b_dvp, 0, curproc);
+       VOP_UNLOCK(b_dvp, curproc);
 
 fail2: if (a_vp != NULL) {
                KASSERT(VOP_ISLOCKED(a_vp) == LK_EXCLUSIVE);
@@ -2172,7 +2172,7 @@ fail2:    if (a_vp != NULL) {
        }
 
 fail1: KASSERT(VOP_ISLOCKED(a_dvp) == LK_EXCLUSIVE);
-       VOP_UNLOCK(a_dvp, 0, curproc);
+       VOP_UNLOCK(a_dvp, curproc);
 
 fail0: /* KASSERT(VOP_ISLOCKED(a_dvp) != LK_EXCLUSIVE); */
        /* KASSERT(VOP_ISLOCKED(b_dvp) != LK_EXCLUSIVE); */
Index: sys/ufs/ext2fs/ext2fs_inode.c
===================================================================
RCS file: /cvs/src/sys/ufs/ext2fs/ext2fs_inode.c,v
retrieving revision 1.57
diff -u -p -r1.57 ext2fs_inode.c
--- sys/ufs/ext2fs/ext2fs_inode.c       27 Feb 2016 18:50:38 -0000      1.57
+++ sys/ufs/ext2fs/ext2fs_inode.c       2 Mar 2016 20:02:55 -0000
@@ -132,7 +132,7 @@ ext2fs_inactive(void *v)
                ext2fs_update(ip, 0);
        }
 out:
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        /*
         * If we are done with the inode, reclaim it
         * so that it can be reused immediately.
Index: sys/ufs/ext2fs/ext2fs_lookup.c
===================================================================
RCS file: /cvs/src/sys/ufs/ext2fs/ext2fs_lookup.c,v
retrieving revision 1.40
diff -u -p -r1.40 ext2fs_lookup.c
--- sys/ufs/ext2fs/ext2fs_lookup.c      16 Feb 2016 17:56:12 -0000      1.40
+++ sys/ufs/ext2fs/ext2fs_lookup.c      2 Mar 2016 20:02:56 -0000
@@ -429,7 +429,7 @@ searchloop:
                 */
                cnp->cn_flags |= SAVENAME;
                if (!lockparent) {
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                return (EJUSTRETURN);
@@ -512,7 +512,7 @@ found:
                }
                *vpp = tdp;
                if (!lockparent) {
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                return (0);
@@ -538,7 +538,7 @@ found:
                *vpp = tdp;
                cnp->cn_flags |= SAVENAME;
                if (!lockparent) {
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                return (0);
@@ -565,7 +565,7 @@ found:
         */
        pdp = vdp;
        if (flags & ISDOTDOT) {
-               VOP_UNLOCK(pdp, 0, p);  /* race to get the inode */
+               VOP_UNLOCK(pdp, p);     /* race to get the inode */
                cnp->cn_flags |= PDIRUNLOCK;
                if ((error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp)) != 0) {
                        if (vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, p) == 0)
@@ -587,7 +587,7 @@ found:
                if ((error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp)) != 0)
                        return (error);
                if (!lockparent || !(flags & ISLASTCN)) {
-                       VOP_UNLOCK(pdp, 0, p);
+                       VOP_UNLOCK(pdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                *vpp = tdp;
Index: sys/ufs/ext2fs/ext2fs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/ufs/ext2fs/ext2fs_vfsops.c,v
retrieving revision 1.86
diff -u -p -r1.86 ext2fs_vfsops.c
--- sys/ufs/ext2fs/ext2fs_vfsops.c      27 Feb 2016 18:50:38 -0000      1.86
+++ sys/ufs/ext2fs/ext2fs_vfsops.c      2 Mar 2016 20:02:56 -0000
@@ -211,7 +211,7 @@ ext2fs_mount(struct mount *mp, const cha
                                vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
                                error = VOP_ACCESS(devvp, VREAD | VWRITE,
                                    p->p_ucred, p);
-                               VOP_UNLOCK(devvp, 0, p);
+                               VOP_UNLOCK(devvp, p);
                                if (error)
                                        return (error);
                        }
@@ -264,7 +264,7 @@ ext2fs_mount(struct mount *mp, const cha
                        accessmode |= VWRITE;
                vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
                error = VOP_ACCESS(devvp, accessmode, p->p_ucred, p);
-               VOP_UNLOCK(devvp, 0, p);
+               VOP_UNLOCK(devvp, p);
                if (error)
                        goto error_devvp;
        }
@@ -598,7 +598,7 @@ out:
                brelse(bp);
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        (void)VOP_CLOSE(devvp, ronly ? FREAD : FREAD|FWRITE, cred, p);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
        if (ump) {
                free(ump->um_e2fs, M_UFSMNT, sizeof *ump->um_e2fs);
                free(ump, M_UFSMNT, sizeof *ump);
@@ -667,7 +667,7 @@ ext2fs_flushfiles(struct mount *mp, int 
         */
        vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = VOP_FSYNC(ump->um_devvp, p->p_ucred, MNT_WAIT, p);
-       VOP_UNLOCK(ump->um_devvp, 0, p);
+       VOP_UNLOCK(ump->um_devvp, p);
        return (error);
 }
 
@@ -793,7 +793,7 @@ ext2fs_sync(struct mount *mp, int waitfo
                vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY, p);
                if ((error = VOP_FSYNC(ump->um_devvp, cred, waitfor, p)) != 0)
                        allerror = error;
-               VOP_UNLOCK(ump->um_devvp, 0, p);
+               VOP_UNLOCK(ump->um_devvp, p);
        }
        /*
         * Write back modified superblock.
Index: sys/ufs/ext2fs/ext2fs_vnops.c
===================================================================
RCS file: /cvs/src/sys/ufs/ext2fs/ext2fs_vnops.c,v
retrieving revision 1.76
diff -u -p -r1.76 ext2fs_vnops.c
--- sys/ufs/ext2fs/ext2fs_vnops.c       27 Feb 2016 18:50:38 -0000      1.76
+++ sys/ufs/ext2fs/ext2fs_vnops.c       2 Mar 2016 20:02:56 -0000
@@ -477,7 +477,7 @@ ext2fs_link(void *v)
        pool_put(&namei_pool, cnp->cn_pnbuf);
 out1:
        if (dvp != vp)
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
 out2:
        vput(dvp);
        return (error);
@@ -585,13 +585,13 @@ abortit:
        dp = VTOI(fdvp);
        ip = VTOI(fvp);
        if ((nlink_t)ip->i_e2fs_nlink >= LINK_MAX) {
-               VOP_UNLOCK(fvp, 0, p);
+               VOP_UNLOCK(fvp, p);
                error = EMLINK;
                goto abortit;
        }
        if ((ip->i_e2fs_flags & (EXT2_IMMUTABLE | EXT2_APPEND)) ||
                (dp->i_e2fs_flags & EXT2_APPEND)) {
-               VOP_UNLOCK(fvp, 0, p);
+               VOP_UNLOCK(fvp, p);
                error = EPERM;
                goto abortit;
        }
@@ -601,7 +601,7 @@ abortit:
                        error = VOP_ACCESS(tvp, VWRITE, tcnp->cn_cred,
                            tcnp->cn_proc);
                if (error) {
-                       VOP_UNLOCK(fvp, 0, p);
+                       VOP_UNLOCK(fvp, p);
                        error = EACCES;
                        goto abortit;
                }
@@ -613,7 +613,7 @@ abortit:
                        (fcnp->cn_flags&ISDOTDOT) ||
                        (tcnp->cn_flags & ISDOTDOT) ||
                    (ip->i_flag & IN_RENAME)) {
-                       VOP_UNLOCK(fvp, 0, p);
+                       VOP_UNLOCK(fvp, p);
                        error = EINVAL;
                        goto abortit;
                }
@@ -641,7 +641,7 @@ abortit:
        ip->i_e2fs_nlink++;
        ip->i_flag |= IN_CHANGE;
        if ((error = ext2fs_update(ip, 1)) != 0) {
-               VOP_UNLOCK(fvp, 0, p);
+               VOP_UNLOCK(fvp, p);
                goto bad;
        }
 
@@ -656,7 +656,7 @@ abortit:
         * call to checkpath().
         */
        error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_proc);
-       VOP_UNLOCK(fvp, 0, p);
+       VOP_UNLOCK(fvp, p);
        if (oldparent != dp->i_number)
                newparent = dp->i_number;
        if (doingdirectory && newparent) {
Index: sys/ufs/ffs/ffs_softdep.c
===================================================================
RCS file: /cvs/src/sys/ufs/ffs/ffs_softdep.c,v
retrieving revision 1.131
diff -u -p -r1.131 ffs_softdep.c
--- sys/ufs/ffs/ffs_softdep.c   9 Jan 2015 05:01:57 -0000       1.131
+++ sys/ufs/ffs/ffs_softdep.c   2 Mar 2016 20:02:57 -0000
@@ -868,7 +868,7 @@ softdep_flushworklist(struct mount *oldm
                *countp += count;
                vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
                error = VOP_FSYNC(devvp, p->p_ucred, MNT_WAIT, p);
-               VOP_UNLOCK(devvp, 0, p);
+               VOP_UNLOCK(devvp, p);
                if (error)
                        break;
        }
@@ -4568,7 +4568,7 @@ softdep_fsync(struct vnode *vp)
                 * ufs_lookup for details on possible races.
                 */
                FREE_LOCK(&lk);
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
                error = VFS_VGET(mnt, parentino, &pvp);
                vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
                if (error != 0)
Index: sys/ufs/ffs/ffs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/ufs/ffs/ffs_vfsops.c,v
retrieving revision 1.152
diff -u -p -r1.152 ffs_vfsops.c
--- sys/ufs/ffs/ffs_vfsops.c    27 Feb 2016 18:50:38 -0000      1.152
+++ sys/ufs/ffs/ffs_vfsops.c    2 Mar 2016 20:02:57 -0000
@@ -272,7 +272,7 @@ ffs_mount(struct mount *mp, const char *
                                vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
                                error = VOP_ACCESS(devvp, VREAD | VWRITE,
                                                   p->p_ucred, p);
-                               VOP_UNLOCK(devvp, 0, p);
+                               VOP_UNLOCK(devvp, p);
                                if (error)
                                        goto error_1;
                        }
@@ -365,7 +365,7 @@ ffs_mount(struct mount *mp, const char *
                        accessmode |= VWRITE;
                vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
                error = VOP_ACCESS(devvp, accessmode, p->p_ucred, p);
-               VOP_UNLOCK(devvp, 0, p);
+               VOP_UNLOCK(devvp, p);
                if (error)
                        goto error_2;
        }
@@ -540,7 +540,7 @@ ffs_reload(struct mount *mountp, struct 
        devvp = VFSTOUFS(mountp)->um_devvp;
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = vinvalbuf(devvp, 0, cred, p, 0, 0);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
        if (error)
                panic("ffs_reload: dirty1");
 
@@ -686,7 +686,7 @@ ffs_mountfs(struct vnode *devvp, struct 
                return (EBUSY);
        vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = vinvalbuf(devvp, V_SAVE, cred, p, 0, 0);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
        if (error)
                return (error);
 
@@ -908,7 +908,7 @@ out:
 
        vn_lock(devvp, LK_EXCLUSIVE|LK_RETRY, p);
        (void)VOP_CLOSE(devvp, ronly ? FREAD : FREAD|FWRITE, cred, p);
-       VOP_UNLOCK(devvp, 0, p);
+       VOP_UNLOCK(devvp, p);
 
        if (ump) {
                free(ump->um_fs, M_UFSMNT, ump->um_fs->fs_sbsize);
@@ -1073,7 +1073,7 @@ ffs_flushfiles(struct mount *mp, int fla
         */
        vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY, p);
        error = VOP_FSYNC(ump->um_devvp, p->p_ucred, MNT_WAIT, p);
-       VOP_UNLOCK(ump->um_devvp, 0, p);
+       VOP_UNLOCK(ump->um_devvp, p);
        return (error);
 }
 
@@ -1138,7 +1138,7 @@ ffs_sync_vnode(struct vnode *vp, void *a
 
        if ((error = VOP_FSYNC(vp, fsa->cred, fsa->waitfor, fsa->p)))
                fsa->allerror = error;
-       VOP_UNLOCK(vp, 0, fsa->p);
+       VOP_UNLOCK(vp, fsa->p);
        vrele(vp);
 
        return (0);
@@ -1200,7 +1200,7 @@ ffs_sync(struct mount *mp, int waitfor, 
                vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY, p);
                if ((error = VOP_FSYNC(ump->um_devvp, cred, waitfor, p)) != 0)
                        allerror = error;
-               VOP_UNLOCK(ump->um_devvp, 0, p);
+               VOP_UNLOCK(ump->um_devvp, p);
        }
        qsync(mp);
        /*
Index: sys/ufs/mfs/mfs_vnops.c
===================================================================
RCS file: /cvs/src/sys/ufs/mfs/mfs_vnops.c,v
retrieving revision 1.46
diff -u -p -r1.46 mfs_vnops.c
--- sys/ufs/mfs/mfs_vnops.c     14 Mar 2015 03:38:52 -0000      1.46
+++ sys/ufs/mfs/mfs_vnops.c     2 Mar 2016 20:02:57 -0000
@@ -235,7 +235,7 @@ mfs_inactive(void *v)
        if (mfsp->mfs_shutdown && bufq_peek(&mfsp->mfs_bufq))
                panic("mfs_inactive: not inactive");
 #endif
-       VOP_UNLOCK(ap->a_vp, 0, ap->a_p);
+       VOP_UNLOCK(ap->a_vp, ap->a_p);
        return (0);
 }
 
Index: sys/ufs/ufs/ufs_inode.c
===================================================================
RCS file: /cvs/src/sys/ufs/ufs/ufs_inode.c,v
retrieving revision 1.41
diff -u -p -r1.41 ufs_inode.c
--- sys/ufs/ufs/ufs_inode.c     14 Mar 2015 03:38:53 -0000      1.41
+++ sys/ufs/ufs/ufs_inode.c     2 Mar 2016 20:02:57 -0000
@@ -111,7 +111,7 @@ ufs_inactive(void *v)
                UFS_UPDATE(ip, 0);
        }
 out:
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
 
        /*
         * If we are done with the inode, reclaim it
Index: sys/ufs/ufs/ufs_lookup.c
===================================================================
RCS file: /cvs/src/sys/ufs/ufs/ufs_lookup.c,v
retrieving revision 1.48
diff -u -p -r1.48 ufs_lookup.c
--- sys/ufs/ufs/ufs_lookup.c    27 Feb 2016 18:50:38 -0000      1.48
+++ sys/ufs/ufs/ufs_lookup.c    2 Mar 2016 20:02:57 -0000
@@ -422,7 +422,7 @@ notfound:
                 */
                cnp->cn_flags |= SAVENAME;
                if (!lockparent) {
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                return (EJUSTRETURN);
@@ -503,7 +503,7 @@ found:
                }
                *vpp = tdp;
                if (!lockparent) {
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                return (0);
@@ -532,7 +532,7 @@ found:
                *vpp = tdp;
                cnp->cn_flags |= SAVENAME;
                if (!lockparent) {
-                       VOP_UNLOCK(vdp, 0, p);
+                       VOP_UNLOCK(vdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                return (0);
@@ -559,7 +559,7 @@ found:
         */
        pdp = vdp;
        if (flags & ISDOTDOT) {
-               VOP_UNLOCK(pdp, 0, p);  /* race to get the inode */
+               VOP_UNLOCK(pdp, p);     /* race to get the inode */
                cnp->cn_flags |= PDIRUNLOCK;
                error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp);
                if (error) {
@@ -583,7 +583,7 @@ found:
                if (error)
                        return (error);
                if (!lockparent || !(flags & ISLASTCN)) {
-                       VOP_UNLOCK(pdp, 0, p);
+                       VOP_UNLOCK(pdp, p);
                        cnp->cn_flags |= PDIRUNLOCK;
                }
                *vpp = tdp;
@@ -778,7 +778,7 @@ ufs_direnter(struct vnode *dvp, struct v
                        if ((error = VOP_BWRITE(bp)))
                                return (error);
                        if (tvp != NULL)
-                               VOP_UNLOCK(tvp, 0, p);
+                               VOP_UNLOCK(tvp, p);
                        error = VOP_FSYNC(dvp, p->p_ucred, MNT_WAIT, p);
                        if (tvp != NULL)
                                vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY, p);
@@ -918,7 +918,7 @@ ufs_direnter(struct vnode *dvp, struct v
 
        if (error == 0 && dp->i_endoff && dp->i_endoff < DIP(dp, size)) {
                if (tvp != NULL)
-                       VOP_UNLOCK(tvp, 0, p);
+                       VOP_UNLOCK(tvp, p);
                error = UFS_TRUNCATE(dp, (off_t)dp->i_endoff, IO_SYNC, cr);
 #ifdef UFS_DIRHASH
                if (error == 0 && dp->i_dirhash != NULL)
Index: sys/ufs/ufs/ufs_quota.c
===================================================================
RCS file: /cvs/src/sys/ufs/ufs/ufs_quota.c,v
retrieving revision 1.37
diff -u -p -r1.37 ufs_quota.c
--- sys/ufs/ufs/ufs_quota.c     9 Jan 2015 05:01:57 -0000       1.37
+++ sys/ufs/ufs/ufs_quota.c     2 Mar 2016 20:02:57 -0000
@@ -499,7 +499,7 @@ quotaon(struct proc *p, struct mount *mp
        if ((error = vn_open(&nd, FREAD|FWRITE, 0)) != 0)
                return (error);
        vp = nd.ni_vp;
-       VOP_UNLOCK(vp, 0, p);
+       VOP_UNLOCK(vp, p);
        if (vp->v_type != VREG) {
                (void) vn_close(vp, FREAD|FWRITE, p->p_ucred, p);
                return (EACCES);
@@ -921,7 +921,7 @@ dqget(struct vnode *vp, u_long id, struc
        if (auio.uio_resid == sizeof(struct dqblk) && error == 0)
                memset(&dq->dq_dqb, 0, sizeof(struct dqblk));
        if (vp != dqvp)
-               VOP_UNLOCK(dqvp, 0, p);
+               VOP_UNLOCK(dqvp, p);
        if (dq->dq_flags & DQ_WANT)
                wakeup(dq);
        dq->dq_flags = 0;
@@ -998,7 +998,7 @@ dqsync(struct vnode *vp, struct dquot *d
                (void) tsleep(dq, PINOD+2, "dqsync", 0);
                if ((dq->dq_flags & DQ_MOD) == 0) {
                        if (vp != dqvp)
-                               VOP_UNLOCK(dqvp, 0, p);
+                               VOP_UNLOCK(dqvp, p);
                        return (0);
                }
        }
@@ -1019,7 +1019,7 @@ dqsync(struct vnode *vp, struct dquot *d
                wakeup(dq);
        dq->dq_flags &= ~(DQ_MOD|DQ_LOCK|DQ_WANT);
        if (vp != dqvp)
-               VOP_UNLOCK(dqvp, 0, p);
+               VOP_UNLOCK(dqvp, p);
        return (error);
 }
 
Index: sys/ufs/ufs/ufs_vnops.c
===================================================================
RCS file: /cvs/src/sys/ufs/ufs/ufs_vnops.c,v
retrieving revision 1.126
diff -u -p -r1.126 ufs_vnops.c
--- sys/ufs/ufs/ufs_vnops.c     27 Feb 2016 18:50:38 -0000      1.126
+++ sys/ufs/ufs/ufs_vnops.c     2 Mar 2016 20:02:57 -0000
@@ -673,7 +673,7 @@ ufs_link(void *v)
        VN_KNOTE(dvp, NOTE_WRITE);
 out1:
        if (dvp != vp)
-               VOP_UNLOCK(vp, 0, p);
+               VOP_UNLOCK(vp, p);
 out2:
        vput(dvp);
        return (error);
@@ -798,13 +798,13 @@ abortit:
        dp = VTOI(fdvp);
        ip = VTOI(fvp);
        if ((nlink_t) DIP(ip, nlink) >= LINK_MAX) {
-               VOP_UNLOCK(fvp, 0, p);
+               VOP_UNLOCK(fvp, p);
                error = EMLINK;
                goto abortit;
        }
        if ((DIP(ip, flags) & (IMMUTABLE | APPEND)) ||
            (DIP(dp, flags) & APPEND)) {
-               VOP_UNLOCK(fvp, 0, p);
+               VOP_UNLOCK(fvp, p);
                error = EPERM;
                goto abortit;
        }
@@ -813,7 +813,7 @@ abortit:
                if (!error && tvp)
                        error = VOP_ACCESS(tvp, VWRITE, tcnp->cn_cred, 
tcnp->cn_proc);
                if (error) {
-                       VOP_UNLOCK(fvp, 0, p);
+                       VOP_UNLOCK(fvp, p);
                        error = EACCES;
                        goto abortit;
                }
@@ -825,7 +825,7 @@ abortit:
                    (fcnp->cn_flags & ISDOTDOT) ||
                    (tcnp->cn_flags & ISDOTDOT) ||
                    (ip->i_flag & IN_RENAME)) {
-                       VOP_UNLOCK(fvp, 0, p);
+                       VOP_UNLOCK(fvp, p);
                        error = EINVAL;
                        goto abortit;
                }
@@ -856,7 +856,7 @@ abortit:
        if (DOINGSOFTDEP(fvp))
                softdep_change_linkcnt(ip, 0);
        if ((error = UFS_UPDATE(ip, !DOINGSOFTDEP(fvp))) != 0) {
-               VOP_UNLOCK(fvp, 0, p);
+               VOP_UNLOCK(fvp, p);
                goto bad;
        }
 
@@ -871,7 +871,7 @@ abortit:
         * call to checkpath().
         */
        error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_proc);
-       VOP_UNLOCK(fvp, 0, p);
+       VOP_UNLOCK(fvp, p);
 
        /* tdvp and tvp locked */
        if (oldparent != dp->i_number)
@@ -1550,7 +1550,7 @@ ufs_unlock(void *v)
        struct vop_unlock_args *ap = v;
        struct vnode *vp = ap->a_vp;
 
-       return (lockmgr(&VTOI(vp)->i_lock, ap->a_flags | LK_RELEASE, NULL));
+       return (lockmgr(&VTOI(vp)->i_lock, LK_RELEASE, NULL));
 }
 
 /*
Index: sys/uvm/uvm_vnode.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_vnode.c,v
retrieving revision 1.91
diff -u -p -r1.91 uvm_vnode.c
--- sys/uvm/uvm_vnode.c 27 Aug 2015 18:59:58 -0000      1.91
+++ sys/uvm/uvm_vnode.c 2 Mar 2016 20:02:58 -0000
@@ -1185,7 +1185,7 @@ uvn_io(struct uvm_vnode *uvn, vm_page_t 
                            curproc->p_ucred);
 
                if ((uvn->u_flags & UVM_VNODE_VNISLOCKED) == 0)
-                       VOP_UNLOCK(vn, 0, curproc);
+                       VOP_UNLOCK(vn, curproc);
        }
 
        /* NOTE: vnode now unlocked (unless vnislocked) */
@@ -1303,7 +1303,7 @@ uvm_vnp_uncache(struct vnode *vp)
         * unlocked causing us to return TRUE when we should not.   we ignore
         * this as a false-positive return value doesn't hurt us.
         */
-       VOP_UNLOCK(vp, 0, curproc);
+       VOP_UNLOCK(vp, curproc);
        uvn_detach(&uvn->u_obj);
        vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, curproc);
 

Reply via email to