Author: pjd
Date: Mon Aug 17 09:21:39 2009
New Revision: 196299
URL: http://svn.freebsd.org/changeset/base/196299

Log:
  - We need to recycle vnode instead of freeing znode.
  
  Submitted by: avg
  
  - Add missing vnode interlock unlock.
  - Remove redundant znode locking.
  
  Approved by:  re (kib)

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c     Mon Aug 
17 09:14:58 2009        (r196298)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c     Mon Aug 
17 09:21:39 2009        (r196299)
@@ -3709,12 +3709,11 @@ zfs_inactive(vnode_t *vp, cred_t *cr, ca
                 * The fs has been unmounted, or we did a
                 * suspend/resume and this file no longer exists.
                 */
-               mutex_enter(&zp->z_lock);
                VI_LOCK(vp);
                vp->v_count = 0; /* count arrives as 1 */
-               mutex_exit(&zp->z_lock);
+               VI_UNLOCK(vp);
+               vrecycle(vp, curthread);
                rw_exit(&zfsvfs->z_teardown_inactive_lock);
-               zfs_znode_free(zp);
                return;
        }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to