Author: pjd
Date: Mon Aug 17 09:23:27 2009
New Revision: 196300
URL: http://svn.freebsd.org/changeset/base/196300

Log:
  MFC r196299:
  
  - 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:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/ata/   (props changed)
  stable/8/sys/dev/cxgb/   (props changed)
  stable/8/sys/dev/mfi/   (props changed)
  stable/8/sys/dev/xen/netfront/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)
  stable/8/sys/modules/dtrace/dtnfsclient/   (props changed)
  stable/8/sys/modules/ip6_mroute_mod/   (props changed)
  stable/8/sys/modules/ipmi/ipmi_linux/   (props changed)
  stable/8/sys/netinet/ipfw/ip_dummynet.c   (props changed)
  stable/8/sys/netinet/ipfw/ip_fw2.c   (props changed)
  stable/8/sys/netinet/ipfw/ip_fw_nat.c   (props changed)
  stable/8/sys/netinet/ipfw/ip_fw_pfil.c   (props changed)
  stable/8/sys/netipx/spx_reass.c   (props changed)
  stable/8/sys/xen/evtchn.h   (props changed)
  stable/8/sys/xen/hypervisor.h   (props changed)
  stable/8/sys/xen/xen_intr.h   (props changed)

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Mon Aug 
17 09:21:39 2009        (r196299)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Mon Aug 
17 09:23:27 2009        (r196300)
@@ -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