From 8e19af80d1e20b3ca15c5fff26300421a7457c8b Mon Sep 17 00:00:00 2001 From: avg Date: Sun, 4 Nov 2012 14:24:00 +0000 Subject: zfs_vnode_forget: dispose of larvae vnode using public vfs api (mostly) Reviewed by: kib MFC after: 19 days --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'sys/cddl') diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c index 8b64d34..c2ed964 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c @@ -633,12 +633,11 @@ static void zfs_vnode_forget(vnode_t *vp) { - VOP_UNLOCK(vp, 0); - VI_LOCK(vp); - vp->v_usecount--; - vp->v_iflag |= VI_DOOMED; + /* copied from insmntque_stddtr */ vp->v_data = NULL; - vdropl(vp); + vp->v_op = &dead_vnodeops; + vgone(vp); + vput(vp); } /* -- cgit v1.1