[Ocfs2-commits] smushran commits r2996 - branches/ocfs2-1.2/fs/ocfs2/dlm

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Mon Mar 26 13:33:38 PDT 2007


Author: smushran
Date: 2007-03-26 13:33:37 -0700 (Mon, 26 Mar 2007)
New Revision: 2996

Modified:
   branches/ocfs2-1.2/fs/ocfs2/dlm/dlmrecovery.c
Log:
dlm: Fix race during dlm recovery

dlm_remaster_locks() was missing a spinlock when updating the recovery
state and thus was getting into a possible race with dlm_reco_data_done_handler().
This patch addresses the hang users sometimes noticed during recovery.

Signed-off-by: khackel
Signed-off-by: seeda

Modified: branches/ocfs2-1.2/fs/ocfs2/dlm/dlmrecovery.c
===================================================================
--- branches/ocfs2-1.2/fs/ocfs2/dlm/dlmrecovery.c	2007-03-26 20:26:49 UTC (rev 2995)
+++ branches/ocfs2-1.2/fs/ocfs2/dlm/dlmrecovery.c	2007-03-26 20:33:37 UTC (rev 2996)
@@ -604,6 +604,7 @@
 			}
 		} while (status != 0);
 
+		spin_lock(&dlm_reco_state_lock);
 		switch (ndata->state) {
 			case DLM_RECO_NODE_DATA_INIT:
 			case DLM_RECO_NODE_DATA_FINALIZE_SENT:
@@ -634,6 +635,7 @@
 				     ndata->node_num, dead_node);
 				break;
 		}
+		spin_unlock(&dlm_reco_state_lock);
 	}
 
 	mlog(0, "done requesting all lock info\n");




More information about the Ocfs2-commits mailing list