[XFS] remove unessecary vnode flags

SGI-PV: 934766
SGI-Modid: xfs-linux:xfs-kern:196852a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
diff --git a/fs/xfs/linux-2.6/xfs_vnode.c b/fs/xfs/linux-2.6/xfs_vnode.c
index ad16af3..654da98 100644
--- a/fs/xfs/linux-2.6/xfs_vnode.c
+++ b/fs/xfs/linux-2.6/xfs_vnode.c
@@ -78,10 +78,6 @@
 	}
 	ASSERT(vp->v_fbhv == NULL);
 
-	VN_LOCK(vp);
-	vp->v_flag &= (VRECLM|VWAIT);
-	VN_UNLOCK(vp, 0);
-
 	vp->v_fbhv = NULL;
 
 #ifdef XFS_VNODE_TRACE
@@ -92,31 +88,6 @@
 	return 0;
 }
 
-STATIC void
-vn_wakeup(
-	struct vnode	*vp)
-{
-	VN_LOCK(vp);
-	if (vp->v_flag & VWAIT)
-		sv_broadcast(vptosync(vp));
-	vp->v_flag &= ~(VRECLM|VWAIT|VMODIFIED);
-	VN_UNLOCK(vp, 0);
-}
-
-int
-vn_wait(
-	struct vnode	*vp)
-{
-	VN_LOCK(vp);
-	if (vp->v_flag & (VINACT | VRECLM)) {
-		vp->v_flag |= VWAIT;
-		sv_wait(vptosync(vp), PINOD, &vp->v_lock, 0);
-		return 1;
-	}
-	VN_UNLOCK(vp, 0);
-	return 0;
-}
-
 struct vnode *
 vn_initialize(
 	struct inode	*inode)
@@ -221,7 +192,6 @@
 {
 	vn_trace_entry(vp, "vn_purge", (inst_t *)__return_address);
 
-again:
 	/*
 	 * Check whether vp has already been reclaimed since our caller
 	 * sampled its version while holding a filesystem cache lock that
@@ -234,19 +204,6 @@
 	}
 
 	/*
-	 * If vp is being reclaimed or inactivated, wait until it is inert,
-	 * then proceed.  Can't assume that vnode is actually reclaimed
-	 * just because the reclaimed flag is asserted -- a vn_alloc
-	 * reclaim can fail.
-	 */
-	if (vp->v_flag & (VINACT | VRECLM)) {
-		ASSERT(vn_count(vp) == 0);
-		vp->v_flag |= VWAIT;
-		sv_wait(vptosync(vp), PINOD, &vp->v_lock, 0);
-		goto again;
-	}
-
-	/*
 	 * Another process could have raced in and gotten this vnode...
 	 */
 	if (vn_count(vp) > 0) {
@@ -255,7 +212,6 @@
 	}
 
 	XFS_STATS_DEC(vn_active);
-	vp->v_flag |= VRECLM;
 	VN_UNLOCK(vp, 0);
 
 	/*
@@ -266,11 +222,6 @@
 	 */
 	if (vn_reclaim(vp) != 0)
 		panic("vn_purge: cannot reclaim");
-
-	/*
-	 * Wakeup anyone waiting for vp to be reclaimed.
-	 */
-	vn_wakeup(vp);
 }
 
 /*
@@ -315,11 +266,6 @@
 	 * return.
 	 */
 	if (!vcnt) {
-		/*
-		 * As soon as we turn this on, noone can find us in vn_get
-		 * until we turn off VINACT or VRECLM
-		 */
-		vp->v_flag |= VINACT;
 		VN_UNLOCK(vp, 0);
 
 		/*
@@ -330,10 +276,7 @@
 			VOP_INACTIVE(vp, NULL, cache);
 
 		VN_LOCK(vp);
-		if (vp->v_flag & VWAIT)
-			sv_broadcast(vptosync(vp));
-
-		vp->v_flag &= ~(VINACT|VWAIT|VRECLM|VMODIFIED);
+		vp->v_flag &= ~VMODIFIED;
 	}
 
 	VN_UNLOCK(vp, 0);