Changeset View
Changeset View
Standalone View
Standalone View
sys/fs/nfsclient/nfs_clnode.c
Show First 20 Lines • Show All 290 Lines • ▼ Show 20 Lines | ncl_reclaim(struct vop_reclaim_args *ap) | ||||
*/ | */ | ||||
if (nfs_reclaim_p != NULL) | if (nfs_reclaim_p != NULL) | ||||
nfs_reclaim_p(ap); | nfs_reclaim_p(ap); | ||||
mtx_lock(&np->n_mtx); | mtx_lock(&np->n_mtx); | ||||
ncl_releasesillyrename(vp, ap->a_td); | ncl_releasesillyrename(vp, ap->a_td); | ||||
mtx_unlock(&np->n_mtx); | mtx_unlock(&np->n_mtx); | ||||
/* | |||||
* Destroy the vm object and flush associated pages. | |||||
*/ | |||||
vnode_destroy_vobject(vp); | |||||
if (NFS_ISV4(vp) && vp->v_type == VREG) | if (NFS_ISV4(vp) && vp->v_type == VREG) | ||||
/* | /* | ||||
* We can now safely close any remaining NFSv4 Opens for | * We can now safely close any remaining NFSv4 Opens for | ||||
* this file. Most opens will have already been closed by | * this file. Most opens will have already been closed by | ||||
* ncl_inactive(), but there are cases where it is not | * ncl_inactive(), but there are cases where it is not | ||||
* called, so we need to do it again here. | * called, so we need to do it again here. | ||||
*/ | */ | ||||
(void) nfsrpc_close(vp, 1, ap->a_td); | (void) nfsrpc_close(vp, 1, ap->a_td); | ||||
▲ Show 20 Lines • Show All 52 Lines • Show Last 20 Lines |