svn commit: r244621 - stable/8/sys/cddl/contrib/opensolaris/uts/common/fs

Andriy Gapon avg at FreeBSD.org
Sun Dec 23 12:13:08 UTC 2012


Author: avg
Date: Sun Dec 23 12:13:07 2012
New Revision: 244621
URL: http://svnweb.freebsd.org/changeset/base/244621

Log:
  MFC r243762: gfs_file_inactive: replace bad code with ugly code
  
  PR:		kern/151111

Modified:
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/cddl/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c	Sun Dec 23 12:12:47 2012	(r244620)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c	Sun Dec 23 12:13:07 2012	(r244621)
@@ -665,8 +665,10 @@ gfs_file_inactive(vnode_t *vp)
 	ge = NULL;
 
 found:
+#ifdef TODO
 	if (vp->v_flag & V_XATTRDIR)
 		VI_LOCK(fp->gfs_parent);
+#endif
 	VI_LOCK(vp);
 	/*
 	 * Really remove this vnode
@@ -687,16 +689,17 @@ found:
 	if (fp->gfs_parent) {
 		if (dp)
 			gfs_dir_unlock(dp);
-		VI_LOCK(fp->gfs_parent);
-		fp->gfs_parent->v_usecount--;
-		VI_UNLOCK(fp->gfs_parent);
+		VOP_UNLOCK(vp, 0);
+		VN_RELE(fp->gfs_parent);
+		vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
 	} else {
 		ASSERT(vp->v_vfsp != NULL);
 		VFS_RELE(vp->v_vfsp);
 	}
+#ifdef TODO
 	if (vp->v_flag & V_XATTRDIR)
 		VI_UNLOCK(fp->gfs_parent);
-
+#endif
 	return (data);
 }
 


More information about the svn-src-stable-8 mailing list