if (vp->v_size > pgend && vp->v_size != VSIZENOTSET) { (void) uvn_flush(uobj, pgend, 0, PGO_FREE);
if (uvn->u_size > newsize) { (void)uvn_flush(&uvn->u_obj, newsize, uvn->u_size, PGO_FREE); } uvn->u_size = newsize;
uvm_vnp_setsize(vp, newsize)	struct vnode *vp;	voff_t newsize;{	struct uvm_object *uobj = &vp->v_uobj;	voff_t pgend = round_page(newsize);	UVMHIST_FUNC("uvm_vnp_setsize"); UVMHIST_CALLED(ubchist);	simple_lock(&uobj->vmobjlock);	UVMHIST_LOG(ubchist, "old 0x%x new 0x%x", vp->v_size, newsize, 0,0);	/*	 * now check if the size has changed: if we shrink we had better	 * toss some pages...	 */	if (vp->v_size > pgend && vp->v_size != VSIZENOTSET) {		(void) uvn_flush(uobj, pgend, 0, PGO_FREE);	}	vp->v_size = newsize;	simple_unlock(&uobj->vmobjlock);}