error = nfs_vinvalbuf(vp, V_SAVE, ap->a_cred, ap->a_p, 1);
if (NFS_ISV3(vp)) { error = nfs_flush(vp, ap->a_cred, MNT_WAIT, ap->a_p, 0); np->n_flag &= ~NMODIFIED; } else error = nfs_vinvalbuf(vp, V_SAVE, ap->a_cred, ap->a_p, 1);
nfs_close(v)	void *v;{	struct vop_close_args /* {		struct vnodeop_desc *a_desc;		struct vnode *a_vp;		int  a_fflag;		struct ucred *a_cred;		struct proc *a_p;	} */ *ap = v;	register struct vnode *vp = ap->a_vp;	register struct nfsnode *np = VTONFS(vp);	int error = 0;	if (vp->v_type == VREG) {	    if ((VFSTONFS(vp->v_mount)->nm_flag & NFSMNT_NQNFS) == 0 &&		(np->n_flag & NMODIFIED)) {		error = nfs_vinvalbuf(vp, V_SAVE, ap->a_cred, ap->a_p, 1);		np->n_attrstamp = 0;	    }	    if (np->n_flag & NWRITEERR) {		np->n_flag &= ~NWRITEERR;		error = np->n_error;	    }	}	return (error);}