Changeset View
Changeset View
Standalone View
Standalone View
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
Show First 20 Lines • Show All 5,369 Lines • ▼ Show 20 Lines | zfs_freebsd_reclaim(ap) | ||||
} */ *ap; | } */ *ap; | ||||
{ | { | ||||
vnode_t *vp = ap->a_vp; | vnode_t *vp = ap->a_vp; | ||||
znode_t *zp = VTOZ(vp); | znode_t *zp = VTOZ(vp); | ||||
zfsvfs_t *zfsvfs = zp->z_zfsvfs; | zfsvfs_t *zfsvfs = zp->z_zfsvfs; | ||||
ASSERT(zp != NULL); | ASSERT(zp != NULL); | ||||
/* Destroy the vm object and flush associated pages. */ | |||||
vnode_destroy_vobject(vp); | |||||
/* | /* | ||||
* z_teardown_inactive_lock protects from a race with | * z_teardown_inactive_lock protects from a race with | ||||
* zfs_znode_dmu_fini in zfsvfs_teardown during | * zfs_znode_dmu_fini in zfsvfs_teardown during | ||||
* force unmount. | * force unmount. | ||||
*/ | */ | ||||
rw_enter(&zfsvfs->z_teardown_inactive_lock, RW_READER); | rw_enter(&zfsvfs->z_teardown_inactive_lock, RW_READER); | ||||
if (zp->z_sa_hdl == NULL) | if (zp->z_sa_hdl == NULL) | ||||
zfs_znode_free(zp); | zfs_znode_free(zp); | ||||
▲ Show 20 Lines • Show All 682 Lines • Show Last 20 Lines |