if ((vp->v_flag & VTEXT))
if ((vp->v_flag & VTEXT) && !uvm_vnp_uncache(vp))
nfsrv_access(vp, flags, cred, rdonly, p, override)	register struct vnode *vp;	int flags;	register struct ucred *cred;	int rdonly;	struct proc *p;	int override;{	struct vattr vattr;	int error;	if (flags & VWRITE) {		/* Just vn_writechk() changed to check rdonly */		/*		 * Disallow write attempts on read-only file systems;		 * unless the file is a socket or a block or character		 * device resident on the file system.		 */		if (rdonly || (vp->v_mount->mnt_flag & MNT_RDONLY)) {			switch (vp->v_type) {			case VREG:			case VDIR:			case VLNK:				return (EROFS);			default:				break;			}		}		/*		 * If the vnode is in use as a process's text,		 * we can't allow writing.		 */		if ((vp->v_flag & VTEXT))			return (ETXTBSY);	}	error = VOP_ACCESS(vp, flags, cred, p);	/*	 * Allow certain operations for the owner (reads and writes	 * on files that are already open).	 */	if (override && (error == EPERM || error == EACCES) &&	    VOP_GETATTR(vp, &vattr, cred, p) == 0 &&	    cred->cr_uid == vattr.va_uid)		error = 0;	return error;}