[SSI] openssi/kernel/cluster/ssi/cfs cfs_chard.c,1.19,1.20

Roger Tsang <[email protected]> Tue, 25 Jan 2011 05:50:56 +0000
Newsgroups gmane.linux.cluster.ssic.cvs
Message-ID <[email protected]>
Update of /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/cfs
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv22613/cluster/ssi/cfs

Modified Files:
      Tag: OPENSSI-FC
	cfs_chard.c 
Log Message:
- cfs_sb_soft_down: purge caches before calling process_cnodes() to reduce amount of work.
- cfs_sb_start_down: remove unused inodes on hard mount to reduce amount of work during rebuild.


Index: cfs_chard.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/cfs/cfs_chard.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- cfs_chard.c	17 Jan 2011 06:52:35 -0000	1.19
+++ cfs_chard.c	25 Jan 2011 05:50:54 -0000	1.20
@@ -515,14 +515,8 @@
 		}
 		/* No. */
 		else {
-#ifdef SKIP
 			/* Force clean unused inodes to be invalidated */
-#ifdef SHRINK_ICACHE_SB
-			(void )shrink_icache_sb(sb);
-#else
-#warning No shrink_icache_sb() create in 2.6 based on GFS code
-#endif
-#endif /* SKIP */
+			invalidate_inodes(sb);
 			/* Wake anyone else trying to bring this SB down. */
 			LOCK_COND_LOCK(&mip->mi_cond_lock);
 			mip->mi_flags &= ~MI_START_DOWN;
@@ -616,18 +610,19 @@
 					      ? BR_SERVER : BR_CLIENT));
 #endif
 	}
-	/* Purge dcache (needed because of races between
-	 * remove/rename and nodedown) and start token rebuild.
-	 * SSI_XXX: This comment came from previous version, don't
-	 * know if this applies to Linux.
-	 */
 	if (!error) {
-		/* shrink_dcache_parent(sb->s_root); */
+		/* Purge dcache (needed because of races between
+		 * remove/rename and nodedown) and start token rebuild.
+		 * SSI_XXX: This comment came from previous version, don't
+		 * know if this applies to Linux.
+		 */
+		//shrink_dcache_sb(sb);
+
 		cfs_rebuild_tokens(sb, TRUE);
-	}
-	/* Send completion message. */
-	if (!error)
+
+		/* Send completion message. */
 		error = cfs_rebuild_tokens_done(sb, server, *statep);
+	}
 
 #ifdef DEBUG
 	printf("cfs_sb_start_haves: error %4d state %2d vfsdown_ticks %5d\n",
@@ -846,7 +841,6 @@
 	spin_lock(&sb_lock);
 	list_del_init(&sb->s_list);
 	spin_unlock(&sb_lock);
-	process_cnodes(sb, clean_list, NULL);
 	shrink_dcache_sb(sb);
 	/* SSI_XXX: Does there need to be a while() loop here waiting
 	 * until invalidate_inodes() doesn't return busy?
@@ -856,6 +850,7 @@
 	 * this invalidate only deals with the obviously unused inodes.
 	 */
 	invalidate_inodes(sb);
+	process_cnodes(sb, clean_list, NULL);
 
 	/* Try to get rid of the SB. */
 	drop_super(sb);


------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d