Index: nfsclient/nfs_vnops.c =================================================================== --- nfsclient/nfs_vnops.c (revision 190870) +++ nfsclient/nfs_vnops.c (working copy) @@ -168,7 +168,6 @@ .vop_getpages = nfs_getpages, .vop_putpages = nfs_putpages, .vop_inactive = nfs_inactive, - .vop_lease = VOP_NULL, .vop_link = nfs_link, .vop_lookup = nfs_lookup, .vop_mkdir = nfs_mkdir, Index: ufs/ffs/ffs_snapshot.c =================================================================== --- ufs/ffs/ffs_snapshot.c (revision 190870) +++ ufs/ffs/ffs_snapshot.c (working copy) @@ -278,7 +278,6 @@ return (error); goto restart; } - VOP_LEASE(nd.ni_dvp, td, KERNCRED, LEASE_WRITE); error = VOP_CREATE(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vat); VOP_UNLOCK(nd.ni_dvp, 0); if (error) { Index: kern/vfs_vnops.c =================================================================== --- kern/vfs_vnops.c (revision 190870) +++ kern/vfs_vnops.c (working copy) @@ -153,14 +153,10 @@ #ifdef MAC error = mac_vnode_check_create(cred, ndp->ni_dvp, &ndp->ni_cnd, vap); - if (error == 0) { + if (error == 0) #endif - VOP_LEASE(ndp->ni_dvp, td, cred, LEASE_WRITE); error = VOP_CREATE(ndp->ni_dvp, &ndp->ni_vp, &ndp->ni_cnd, vap); -#ifdef MAC - } -#endif vput(ndp->ni_dvp); vn_finished_write(mp); if (error) { @@ -521,7 +517,6 @@ if (fp->f_flag & O_DIRECT) ioflag |= IO_DIRECT; vfslocked = VFS_LOCK_GIANT(vp->v_mount); - VOP_LEASE(vp, td, fp->f_cred, LEASE_READ); /* * According to McKusick the vn lock was protecting f_offset here. * It is now protected by the FOFFSET_LOCKED flag. @@ -598,7 +593,6 @@ if (vp->v_type != VCHR && (error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) goto unlock; - VOP_LEASE(vp, td, fp->f_cred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if ((flags & FOF_OFFSET) == 0) uio->uio_offset = fp->f_offset; @@ -642,7 +636,6 @@ VFS_UNLOCK_GIANT(vfslocked); return (error); } - VOP_LEASE(vp, td, active_cred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if (vp->v_type == VDIR) { error = EISDIR; Index: kern/kern_acct.c =================================================================== --- kern/kern_acct.c (revision 190870) +++ kern/kern_acct.c (working copy) @@ -436,7 +436,6 @@ * Write the accounting information to the file. */ vfslocked = VFS_LOCK_GIANT(acct_vp->v_mount); - VOP_LEASE(acct_vp, td, acct_cred, LEASE_WRITE); ret = vn_rdwr(UIO_WRITE, acct_vp, (caddr_t)&acct, sizeof (acct), (off_t)0, UIO_SYSSPACE, IO_APPEND|IO_UNIT, acct_cred, NOCRED, (int *)0, td); Index: kern/vfs_syscalls.c =================================================================== --- kern/vfs_syscalls.c (revision 190870) +++ kern/vfs_syscalls.c (working copy) @@ -1161,7 +1161,6 @@ if (flags & O_TRUNC) { if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) goto bad; - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); VATTR_NULL(&vat); vat.va_size = 0; vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); @@ -1353,7 +1352,6 @@ &nd.ni_cnd, &vattr); #endif if (!error) { - VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); if (whiteout) error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, CREATE); else { @@ -1460,7 +1458,6 @@ if (error) goto out; #endif - VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); if (error == 0) vput(nd.ni_vp); @@ -1606,8 +1603,6 @@ error = EEXIST; } else if ((error = vn_lock(vp, LK_EXCLUSIVE | LK_RETRY)) == 0) { - VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); error = can_hardlink(vp, td->td_ucred); if (error == 0) #ifdef MAC @@ -1727,7 +1722,6 @@ if (error) goto out2; #endif - VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); error = VOP_SYMLINK(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr, syspath); if (error == 0) vput(nd.ni_vp); @@ -1787,7 +1781,6 @@ return (error); goto restart; } - VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, DELETE); NDFREE(&nd, NDF_ONLY_PNBUF); vput(nd.ni_dvp); @@ -1893,7 +1886,6 @@ if (error) goto out; #endif - VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); error = VOP_REMOVE(nd.ni_dvp, vp, &nd.ni_cnd); #ifdef MAC out: @@ -2667,7 +2659,6 @@ if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) return (error); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); VATTR_NULL(&vattr); vattr.va_flags = flags; @@ -2795,7 +2786,6 @@ if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) return (error); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); VATTR_NULL(&vattr); vattr.va_mode = mode & ALLPERMS; @@ -2958,7 +2948,6 @@ if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) return (error); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); VATTR_NULL(&vattr); vattr.va_uid = uid; @@ -3172,7 +3161,6 @@ if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) return (error); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); setbirthtime = 0; if (numtimes < 3 && !VOP_GETATTR(vp, &vattr, td->td_ucred) && @@ -3403,7 +3391,6 @@ return (error); } NDFREE(&nd, NDF_ONLY_PNBUF); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if (vp->v_type == VDIR) error = EISDIR; @@ -3647,13 +3634,6 @@ #endif out: if (!error) { - VOP_LEASE(tdvp, td, td->td_ucred, LEASE_WRITE); - if (fromnd.ni_dvp != tdvp) { - VOP_LEASE(fromnd.ni_dvp, td, td->td_ucred, LEASE_WRITE); - } - if (tvp) { - VOP_LEASE(tvp, td, td->td_ucred, LEASE_WRITE); - } error = VOP_RENAME(fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd, tond.ni_dvp, tond.ni_vp, &tond.ni_cnd); NDFREE(&fromnd, NDF_ONLY_PNBUF); @@ -3779,7 +3759,6 @@ if (error) goto out; #endif - VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); error = VOP_MKDIR(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); #ifdef MAC out: @@ -3872,8 +3851,6 @@ return (error); goto restart; } - VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); error = VOP_RMDIR(nd.ni_dvp, nd.ni_vp, &nd.ni_cnd); vn_finished_write(mp); out: @@ -4462,7 +4439,6 @@ vrele(vp); goto out; } - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); /* XXX */ #ifdef MAC /* Index: kern/kern_ktrace.c =================================================================== --- kern/kern_ktrace.c (revision 190870) +++ kern/kern_ktrace.c (working copy) @@ -992,7 +992,6 @@ vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_start_write(vp, &mp, V_WAIT); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - (void)VOP_LEASE(vp, td, cred, LEASE_WRITE); #ifdef MAC error = mac_vnode_check_write(cred, NOCRED, vp); if (error == 0) Index: kern/kern_sig.c =================================================================== --- kern/kern_sig.c (revision 190870) +++ kern/kern_sig.c (working copy) @@ -2984,7 +2984,6 @@ if (set_core_nodump_flag) vattr.va_flags = UF_NODUMP; vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - VOP_LEASE(vp, td, cred, LEASE_WRITE); VOP_SETATTR(vp, &vattr, cred); VOP_UNLOCK(vp, 0); vn_finished_write(mp); Index: kern/uipc_usrreq.c =================================================================== --- kern/uipc_usrreq.c (revision 190870) +++ kern/uipc_usrreq.c (working copy) @@ -457,10 +457,8 @@ error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, &vattr); #endif - if (error == 0) { - VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); + if (error == 0) error = VOP_CREATE(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); - } NDFREE(&nd, NDF_ONLY_PNBUF); vput(nd.ni_dvp); if (error) { Index: kern/vfs_default.c =================================================================== --- kern/vfs_default.c (revision 190870) +++ kern/vfs_default.c (working copy) @@ -98,7 +98,6 @@ .vop_ioctl = VOP_ENOTTY, .vop_kqfilter = vop_stdkqfilter, .vop_islocked = vop_stdislocked, - .vop_lease = VOP_NULL, .vop_lock1 = vop_stdlock, .vop_lookup = vop_nolookup, .vop_open = VOP_NULL, Index: kern/vfs_extattr.c =================================================================== --- kern/vfs_extattr.c (revision 190870) +++ kern/vfs_extattr.c (working copy) @@ -175,7 +175,6 @@ error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error) return (error); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); aiov.iov_base = data; @@ -341,7 +340,6 @@ int error; VFS_ASSERT_GIANT(vp->v_mount); - VOP_LEASE(vp, td, td->td_ucred, LEASE_READ); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); /* @@ -522,7 +520,6 @@ error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error) return (error); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); #ifdef MAC @@ -664,7 +661,6 @@ int error; VFS_ASSERT_GIANT(vp->v_mount); - VOP_LEASE(vp, td, td->td_ucred, LEASE_READ); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); auiop = NULL; Index: kern/vfs_acl.c =================================================================== --- kern/vfs_acl.c (revision 190870) +++ kern/vfs_acl.c (working copy) @@ -91,7 +91,6 @@ error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error != 0) return (error); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); #ifdef MAC error = mac_vnode_check_setacl(td->td_ucred, vp, type, &inkernacl); @@ -117,7 +116,6 @@ struct acl inkernelacl; int error; - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); #ifdef MAC error = mac_vnode_check_getacl(td->td_ucred, vp, type); @@ -146,7 +144,6 @@ error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error) return (error); - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); #ifdef MAC error = mac_vnode_check_deleteacl(td->td_ucred, vp, type); Index: kern/kern_alq.c =================================================================== --- kern/kern_alq.c (revision 190870) +++ kern/kern_alq.c (working copy) @@ -293,7 +293,6 @@ vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_start_write(vp, &mp, V_WAIT); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - VOP_LEASE(vp, td, alq->aq_cred, LEASE_WRITE); /* * XXX: VOP_WRITE error checks are ignored. */ Index: kern/vnode_if.src =================================================================== --- kern/vnode_if.src (revision 190870) +++ kern/vnode_if.src (working copy) @@ -199,16 +199,6 @@ }; -%% lease vp = = = - -vop_lease { - IN struct vnode *vp; - IN struct thread *td; - IN struct ucred *cred; - IN int flag; -}; - - %% ioctl vp U U U vop_ioctl { Index: fs/unionfs/union_subr.c =================================================================== --- fs/unionfs/union_subr.c (revision 190870) +++ fs/unionfs/union_subr.c (working copy) @@ -805,10 +805,6 @@ if ((error = vn_start_write(udvp, &mp, V_WAIT | PCATCH))) goto unionfs_mkshadowdir_free_out; - if ((error = VOP_LEASE(udvp, td, cn.cn_cred, LEASE_WRITE))) { - vn_finished_write(mp); - goto unionfs_mkshadowdir_free_out; - } unionfs_create_uppervattr_core(ump, &lva, &va, td); error = VOP_MKDIR(udvp, &uvp, &cn, &va); @@ -874,8 +870,7 @@ if ((error = vn_start_write(dvp, &mp, V_WAIT | PCATCH))) goto unionfs_mkwhiteout_free_out; - if (!(error = VOP_LEASE(dvp, td, td->td_ucred, LEASE_WRITE))) - error = VOP_WHITEOUT(dvp, &cn, CREATE); + error = VOP_WHITEOUT(dvp, &cn, CREATE); vn_finished_write(mp); @@ -949,9 +944,6 @@ goto unionfs_vn_create_on_upper_free_out1; } - if ((error = VOP_LEASE(udvp, td, cred, LEASE_WRITE)) != 0) - goto unionfs_vn_create_on_upper_free_out1; - if ((error = VOP_CREATE(udvp, &vp, &cn, uvap)) != 0) goto unionfs_vn_create_on_upper_free_out1; @@ -999,10 +991,6 @@ uio.uio_segflg = UIO_SYSSPACE; uio.uio_offset = 0; - if ((error = VOP_LEASE(lvp, td, cred, LEASE_READ)) != 0) - return (error); - if ((error = VOP_LEASE(uvp, td, cred, LEASE_WRITE)) != 0) - return (error); buf = malloc(MAXBSIZE, M_TEMP, M_WAITOK); while (error == 0) { Index: fs/unionfs/union_vnops.c =================================================================== --- fs/unionfs/union_vnops.c (revision 190870) +++ fs/unionfs/union_vnops.c (working copy) @@ -902,27 +902,6 @@ } static int -unionfs_lease(struct vop_lease_args *ap) -{ - int error; - struct unionfs_node *unp; - struct vnode *vp; - - UNIONFS_INTERNAL_DEBUG("unionfs_lease: enter\n"); - - KASSERT_UNIONFS_VNODE(ap->a_vp); - - unp = VTOUNIONFS(ap->a_vp); - vp = (unp->un_uppervp != NULLVP ? unp->un_uppervp : unp->un_lowervp); - - error = VOP_LEASE(vp, ap->a_td, ap->a_cred, ap->a_flag); - - UNIONFS_INTERNAL_DEBUG("unionfs_lease: lease (%d)\n", error); - - return (error); -} - -static int unionfs_ioctl(struct vop_ioctl_args *ap) { int error; @@ -947,7 +926,7 @@ error = VOP_IOCTL(ovp, ap->a_command, ap->a_data, ap->a_fflag, ap->a_cred, ap->a_td); - UNIONFS_INTERNAL_DEBUG("unionfs_ioctl: lease (%d)\n", error); + UNIONFS_INTERNAL_DEBUG("unionfs_ioctl: leave (%d)\n", error); return (error); } @@ -2461,7 +2440,6 @@ .vop_getwritemount = unionfs_getwritemount, .vop_inactive = unionfs_inactive, .vop_ioctl = unionfs_ioctl, - .vop_lease = unionfs_lease, .vop_link = unionfs_link, .vop_listextattr = unionfs_listextattr, .vop_lock1 = unionfs_lock, Index: fs/devfs/devfs_vnops.c =================================================================== --- fs/devfs/devfs_vnops.c (revision 190870) +++ fs/devfs/devfs_vnops.c (working copy) @@ -1549,7 +1549,6 @@ .vop_create = VOP_PANIC, .vop_fsync = devfs_fsync, .vop_getattr = devfs_getattr, - .vop_lease = VOP_NULL, .vop_link = VOP_PANIC, .vop_mkdir = VOP_PANIC, .vop_mknod = VOP_PANIC, Index: fs/fifofs/fifo_vnops.c =================================================================== --- fs/fifofs/fifo_vnops.c (revision 190870) +++ fs/fifofs/fifo_vnops.c (working copy) @@ -118,7 +118,6 @@ .vop_getattr = VOP_EBADF, .vop_ioctl = fifo_ioctl, .vop_kqfilter = fifo_kqfilter, - .vop_lease = VOP_NULL, .vop_link = VOP_PANIC, .vop_mkdir = VOP_PANIC, .vop_mknod = VOP_PANIC, Index: nfs4client/nfs4_vnops.c =================================================================== --- nfs4client/nfs4_vnops.c (revision 190870) +++ nfs4client/nfs4_vnops.c (working copy) @@ -173,7 +173,6 @@ .vop_getpages = nfs_getpages, .vop_putpages = nfs_putpages, .vop_inactive = nfs_inactive, - .vop_lease = VOP_NULL, .vop_link = nfs4_link, .vop_lookup = nfs4_lookup, .vop_mkdir = nfs4_mkdir, Index: cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c =================================================================== --- cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (revision 190870) +++ cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (working copy) @@ -4577,7 +4577,6 @@ ZFS_EXIT(zfsvfs); return (error); } - VOP_LEASE(nd.ni_dvp, td, ap->a_cred, LEASE_WRITE); error = VOP_REMOVE(nd.ni_dvp, vp, &nd.ni_cnd); vput(nd.ni_dvp); @@ -4639,7 +4638,6 @@ return (error); } - VOP_LEASE(vp, td, ap->a_cred, LEASE_WRITE); VATTR_NULL(&va); va.va_size = 0; error = VOP_SETATTR(vp, &va, ap->a_cred); Index: cddl/compat/opensolaris/sys/vnode.h =================================================================== --- cddl/compat/opensolaris/sys/vnode.h (revision 190870) +++ cddl/compat/opensolaris/sys/vnode.h (working copy) @@ -217,7 +217,6 @@ vfslocked = VFS_LOCK_GIANT(vp->v_mount); if (rw == UIO_WRITE) { ioflag = IO_SYNC; - VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); } else { ioflag = IO_DIRECT; } Index: sys/vnode.h =================================================================== --- sys/vnode.h (revision 190870) +++ sys/vnode.h (working copy) @@ -412,14 +412,6 @@ extern int prtactive; /* nonzero to call vprint() */ extern struct vattr va_null; /* predefined null vattr structure */ -/* - * Macro/function to check for client cache inconsistency w.r.t. leasing. - */ -#define LEASE_READ 0x1 /* Check lease for readers */ -#define LEASE_WRITE 0x2 /* Check lease for modifiers */ - -extern void (*lease_updatetime)(int deltat); - #define VI_LOCK(vp) mtx_lock(&(vp)->v_interlock) #define VI_LOCK_FLAGS(vp, flags) mtx_lock_flags(&(vp)->v_interlock, (flags)) #define VI_TRYLOCK(vp) mtx_trylock(&(vp)->v_interlock) @@ -587,8 +579,6 @@ struct vattr; struct vnode; -extern int (*lease_check_hook)(struct vop_lease_args *); - /* cache_* may belong in namei.h. */ void cache_enter(struct vnode *dvp, struct vnode *vp, struct componentname *cnp); @@ -607,7 +597,6 @@ void (*dtr)(struct vnode *, void *), void *dtr_arg); int insmntque(struct vnode *vp, struct mount *mp); u_quad_t init_va_filerev(void); -int lease_check(struct vop_lease_args *ap); int speedup_syncer(void); #define textvp_fullpath(p, rb, rfb) \ vn_fullpath(FIRST_THREAD_IN_PROC(p), (p)->p_textvp, rb, rfb)