[Ocfs2-commits] khackel commits r2843 - branches/ocfs2-1.2-cert/patches

svn-commits@oss.oracle.com svn-commits at oss.oracle.com
Wed Apr 19 14:18:47 CDT 2006


Author: khackel
Signed-off-by: jlbec
Date: 2006-04-19 14:18:42 -0500 (Wed, 19 Apr 2006)
New Revision: 2843

Added:
   branches/ocfs2-1.2-cert/patches/debug-already-on-reco-list.patch
   branches/ocfs2-1.2-cert/patches/dlm-debug-bad-migrated-lvb.patch
   branches/ocfs2-1.2-cert/patches/dlm-recovery-stage-mlogs.patch
Modified:
   branches/ocfs2-1.2-cert/patches/continue-finalize-reco.patch
   branches/ocfs2-1.2-cert/patches/debug-bad-recovery.patch
   branches/ocfs2-1.2-cert/patches/debug-mastery.patch
   branches/ocfs2-1.2-cert/patches/dlm-eloop.patch
   branches/ocfs2-1.2-cert/patches/dlm-fix_dlm_lock_reco_handling.patch
   branches/ocfs2-1.2-cert/patches/dlm-mlog_to_printk
   branches/ocfs2-1.2-cert/patches/dlm-new_proc_entry
   branches/ocfs2-1.2-cert/patches/dlm-replace_gfp_kernel_with_nofs
   branches/ocfs2-1.2-cert/patches/fix-death-during-recovery.patch
   branches/ocfs2-1.2-cert/patches/fix-dlmlock_remote.patch
   branches/ocfs2-1.2-cert/patches/fix-purge-lockres.patch
   branches/ocfs2-1.2-cert/patches/fix-recovery-spin.patch
   branches/ocfs2-1.2-cert/patches/fix-remote-lock-during-reco.patch
   branches/ocfs2-1.2-cert/patches/fix-wait-in-mastery.patch
   branches/ocfs2-1.2-cert/patches/hb-add_tracking_around_configured_nodes
   branches/ocfs2-1.2-cert/patches/hold-dirty-ref.patch
   branches/ocfs2-1.2-cert/patches/hold-recovery-ref.patch
   branches/ocfs2-1.2-cert/patches/jrnl-change_gfp_kernel_to_nofs
   branches/ocfs2-1.2-cert/patches/lockres-release-info.patch
   branches/ocfs2-1.2-cert/patches/lvb-recovery-fix.patch
   branches/ocfs2-1.2-cert/patches/mar24-create-lock-handler.patch
   branches/ocfs2-1.2-cert/patches/mastery-restart-recovery.patch
   branches/ocfs2-1.2-cert/patches/move-dlm-work-to-thread.patch
   branches/ocfs2-1.2-cert/patches/never-purge-master.patch
   branches/ocfs2-1.2-cert/patches/ocfs2-1.2-no-idr-0.patch
   branches/ocfs2-1.2-cert/patches/ocfs2_dlm-do_lvb_puts_inline2.patch
   branches/ocfs2-1.2-cert/patches/ocfs2_heartbeat-better_I_O_error_handling.patch
   branches/ocfs2-1.2-cert/patches/reassert-vs-migration.patch
   branches/ocfs2-1.2-cert/patches/remove-bad-spin-unlock.patch
   branches/ocfs2-1.2-cert/patches/series
   branches/ocfs2-1.2-cert/patches/two-stage-finalize.patch
Log:
break out two-stage-finalize.patch
Signed-off-by: jlbec

Modified: branches/ocfs2-1.2-cert/patches/continue-finalize-reco.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/continue-finalize-reco.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/continue-finalize-reco.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:16:32.211928000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:16:34.956962000 -0700
-@@ -2652,6 +2652,7 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:37.440041000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:40.321072000 -0700
+@@ -2651,6 +2651,7 @@
  				mlog(ML_ERROR, "node %u went down after this "
  				     "node finished recovery.\n", nodenum);
  				ret = 0;

Added: branches/ocfs2-1.2-cert/patches/debug-already-on-reco-list.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/debug-already-on-reco-list.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/debug-already-on-reco-list.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -0,0 +1,13 @@
+Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
+===================================================================
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:51:31.000000000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:52:33.853317000 -0700
+@@ -1783,7 +1783,7 @@
+ 
+ 	res->state |= DLM_LOCK_RES_RECOVERING;
+ 	if (!list_empty(&res->recovering)) {
+-		mlog(0,
++		mlog(ML_NOTICE,
+ 		     "Recovering res %s:%.*s, is already on recovery list!\n",
+ 		     dlm->name, res->lockname.len, res->lockname.name);
+ 		list_del_init(&res->recovering);

Modified: branches/ocfs2-1.2-cert/patches/debug-bad-recovery.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/debug-bad-recovery.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/debug-bad-recovery.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmconvert.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmconvert.c	2006-04-18 14:00:56.000000000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmconvert.c	2006-04-18 14:27:24.543984000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmconvert.c	2006-04-19 11:13:07.760322000 -0700
++++ cert3/fs/ocfs2/dlm/dlmconvert.c	2006-04-19 12:15:57.138714000 -0700
 @@ -467,6 +467,12 @@
  	}
  
@@ -38,8 +38,8 @@
  		status = DLM_IVLOCKID;
 Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:20:20.000000000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:29:23.275666000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:48.682488000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:57.159693000 -0700
 @@ -495,6 +495,7 @@
  		//dlm_print_reco_junk(dlm);
  	}
@@ -58,7 +58,7 @@
  }
  
  static void dlm_begin_recovery(struct dlm_ctxt *dlm)
-@@ -758,12 +760,11 @@
+@@ -757,12 +759,11 @@
  					break;
  				case DLM_RECO_NODE_DATA_RECEIVING:
  				case DLM_RECO_NODE_DATA_REQUESTED:
@@ -77,9 +77,9 @@
  					     ndata->state==DLM_RECO_NODE_DATA_RECEIVING ?
 Index: cert3/fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:20:20.000000000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:27:25.030693000 -0700
-@@ -1694,13 +1694,13 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:48.661488000 -0700
++++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:57.189663000 -0700
+@@ -1702,13 +1702,13 @@
  		tmpret = o2net_send_message(DLM_ASSERT_MASTER_MSG, dlm->key,
  					    &assert, sizeof(assert), to, &r);
  		if (tmpret < 0) {
@@ -96,7 +96,7 @@
  			/* any nonzero status return will do */
  			ret = tmpret;
  		} else if (r < 0) {
-@@ -2086,7 +2086,8 @@
+@@ -2092,7 +2092,8 @@
  				   nodemap, flags);
  	if (ret < 0) {
  		/* no need to restart, we are done */
@@ -106,7 +106,7 @@
  	}
  
  	/* Ok, we've asserted ourselves.  Let's let migration start. */
-@@ -2861,7 +2862,7 @@
+@@ -2867,7 +2868,7 @@
  				 * may result in the mle being unlinked and
  				 * freed, but there may still be a process
  				 * waiting in the dlmlock path which is fine. */

Modified: branches/ocfs2-1.2-cert/patches/debug-mastery.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/debug-mastery.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/debug-mastery.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: cert3/fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:00:58.839560000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:01:01.467762000 -0700
-@@ -1621,6 +1621,8 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:47:43.682671000 -0700
++++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:49:41.605792000 -0700
+@@ -1629,6 +1629,8 @@
  	dlm_node_iter_init(nodemap, &iter);
  	while ((to = dlm_node_iter_next(&iter)) >= 0) {
  		int r = 0;
@@ -11,7 +11,7 @@
  		mlog(0, "sending assert master to %d (%.*s)\n", to,
  		     namelen, lockname);
  		memset(&assert, 0, sizeof(assert));
-@@ -1645,7 +1647,16 @@
+@@ -1653,7 +1655,15 @@
  			/* ok, something horribly messed.  kill thyself. */
  			mlog(ML_ERROR,"during assert master of %.*s to %u, "
  			     "got %d.\n", namelen, lockname, to, r);
@@ -25,11 +25,10 @@
 +			}
 +			spin_unlock(&dlm->master_lock);
 +			spin_unlock(&dlm->spinlock);
-+			// dlm_dump_lock_resources(dlm);
  			BUG();
  		} else if (r == EAGAIN) {
  			mlog(0, "%.*s: node %u create mles on other "
-@@ -1909,12 +1920,13 @@
+@@ -1917,12 +1927,12 @@
  
  kill:
  	/* kill the caller! */
@@ -40,7 +39,6 @@
  	mlog(ML_ERROR, "Bad message received from another node.  Dumping state "
  	     "and killing the other node now!  This node is OK and can continue.\n");
 -	dlm_dump_lock_resources(dlm);
-+	// dlm_dump_lock_resources(dlm);
  	dlm_put(dlm);
  	return -EINVAL;
  }

Added: branches/ocfs2-1.2-cert/patches/dlm-debug-bad-migrated-lvb.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/dlm-debug-bad-migrated-lvb.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/dlm-debug-bad-migrated-lvb.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -0,0 +1,26 @@
+Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
+===================================================================
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:10:44.996421000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:10:53.135773000 -0700
+@@ -1713,8 +1713,19 @@
+ 				if (!dlm_lvb_is_empty(res->lvb) &&
+ 				    (ml->type == LKM_EXMODE ||
+ 				     memcmp(res->lvb, mres->lvb, DLM_LVB_LEN))) {
+-					mlog(ML_ERROR, "received bad lvb!\n");
+-					__dlm_print_one_lock_resource(res);
++					int i;
++					mlog(ML_ERROR, "%s:%.*s: received bad "
++					     "lvb! type=%d\n", dlm->name,
++					     res->lockname.len,
++					     res->lockname.name, ml->type);
++					printk("lockres lvb=[");
++					for (i=0; i<DLM_LVB_LEN; i++)
++						printk("%02x", res->lvb[i]);
++					printk("]\nmigrated lvb=[");
++					for (i=0; i<DLM_LVB_LEN; i++)
++						printk("%02x", mres->lvb[i]);
++					printk("]\n");
++					dlm_print_one_lock_resource(res);
+ 					BUG();
+ 				}
+ 				memcpy(res->lvb, mres->lvb, DLM_LVB_LEN);

Modified: branches/ocfs2-1.2-cert/patches/dlm-eloop.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/dlm-eloop.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/dlm-eloop.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- fs/ocfs2/dlm/dlmmaster.c.orig	2006-04-18 14:01:01.467762000 -0700
-+++ fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:01:52.218442000 -0700
-@@ -983,12 +983,14 @@
+--- fs/ocfs2/dlm/dlmmaster.c.orig	2006-04-19 11:13:11.005353000 -0700
++++ fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:01.917663000 -0700
+@@ -991,12 +991,14 @@
  		spin_unlock(&res->spinlock);
  		/* this will cause the master to re-assert across
  		 * the whole cluster, freeing up mles */

Modified: branches/ocfs2-1.2-cert/patches/dlm-fix_dlm_lock_reco_handling.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/dlm-fix_dlm_lock_reco_handling.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/dlm-fix_dlm_lock_reco_handling.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmlock.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:20:13.728485000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:29:56.123081000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:45.634457000 -0700
++++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:16:04.581320000 -0700
 @@ -299,7 +299,7 @@
  	if (tmpret >= 0) {
  		// successfully sent and received

Modified: branches/ocfs2-1.2-cert/patches/dlm-mlog_to_printk
===================================================================
--- branches/ocfs2-1.2-cert/patches/dlm-mlog_to_printk	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/dlm-mlog_to_printk	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmdomain.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmdomain.c	2006-04-17 15:59:08.279630000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmdomain.c	2006-04-18 14:16:29.145894000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmdomain.c	2006-04-18 14:34:28.603458000 -0700
++++ cert3/fs/ocfs2/dlm/dlmdomain.c	2006-04-19 12:15:34.858011000 -0700
 @@ -381,12 +381,13 @@
  
  	assert_spin_locked(&dlm->spinlock);
@@ -38,8 +38,8 @@
  		/* notify anything attached to the heartbeat events */
 Index: cert3/fs/ocfs2/super.c
 ===================================================================
---- cert3.orig/fs/ocfs2/super.c	2006-04-17 15:59:08.283630000 -0700
-+++ cert3/fs/ocfs2/super.c	2006-04-18 14:16:29.179894000 -0700
+--- cert3.orig/fs/ocfs2/super.c	2006-04-18 14:34:28.904456000 -0700
++++ cert3/fs/ocfs2/super.c	2006-04-19 12:15:34.872010000 -0700
 @@ -641,9 +641,8 @@
  
  	ocfs2_complete_mount_recovery(osb);
@@ -83,8 +83,8 @@
  	osb->osb_orphan_wipes = kcalloc(osb->max_slots,
 Index: cert3/fs/ocfs2/slot_map.c
 ===================================================================
---- cert3.orig/fs/ocfs2/slot_map.c	2006-04-17 15:59:08.525628000 -0700
-+++ cert3/fs/ocfs2/slot_map.c	2006-04-18 14:16:29.201894000 -0700
+--- cert3.orig/fs/ocfs2/slot_map.c	2006-04-18 14:34:28.908456000 -0700
++++ cert3/fs/ocfs2/slot_map.c	2006-04-19 12:15:34.881010000 -0700
 @@ -264,7 +264,7 @@
  	osb->slot_num = slot;
  	spin_unlock(&si->si_lock);
@@ -96,8 +96,8 @@
  	if (status < 0)
 Index: cert3/fs/ocfs2/cluster/tcp.c
 ===================================================================
---- cert3.orig/fs/ocfs2/cluster/tcp.c	2006-04-18 14:16:26.342811000 -0700
-+++ cert3/fs/ocfs2/cluster/tcp.c	2006-04-18 14:16:29.229894000 -0700
+--- cert3.orig/fs/ocfs2/cluster/tcp.c	2006-04-19 12:15:32.248662000 -0700
++++ cert3/fs/ocfs2/cluster/tcp.c	2006-04-19 12:15:34.896010000 -0700
 @@ -397,8 +397,8 @@
  	}
  

Modified: branches/ocfs2-1.2-cert/patches/dlm-new_proc_entry
===================================================================
--- branches/ocfs2-1.2-cert/patches/dlm-new_proc_entry	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/dlm-new_proc_entry	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmdebug.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmdebug.c	2006-04-18 14:20:13.681532000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmdebug.c	2006-04-18 14:29:50.777972000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmdebug.c	2006-04-19 12:15:45.604457000 -0700
++++ cert3/fs/ocfs2/dlm/dlmdebug.c	2006-04-19 12:16:00.178707000 -0700
 @@ -58,6 +58,9 @@
  					struct dlm_ctxt **dlm,
  					struct dlm_lock_resource **res);
@@ -76,8 +76,8 @@
   * able to shut it off if needed, hence the KERN_NOTICE level */
 Index: cert3/fs/ocfs2/dlm/dlmdebug.h
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmdebug.h	2006-04-17 15:59:01.406875000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmdebug.h	2006-04-18 14:29:50.798972000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmdebug.h	2006-04-18 14:34:21.143910000 -0700
++++ cert3/fs/ocfs2/dlm/dlmdebug.h	2006-04-19 12:16:00.186699000 -0700
 @@ -28,5 +28,7 @@
  void dlm_remove_proc(void);
  void dlm_init_proc(void);
@@ -88,8 +88,8 @@
  #endif
 Index: cert3/fs/ocfs2/dlm/dlmdomain.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmdomain.c	2006-04-18 14:20:20.405513000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmdomain.c	2006-04-18 14:29:50.810973000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmdomain.c	2006-04-19 12:15:48.635488000 -0700
++++ cert3/fs/ocfs2/dlm/dlmdomain.c	2006-04-19 12:16:00.198688000 -0700
 @@ -193,6 +193,8 @@
  
  static void dlm_free_ctxt_mem(struct dlm_ctxt *dlm)
@@ -110,8 +110,8 @@
  
 Index: cert3/fs/ocfs2/dlm/dlmcommon.h
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:20:20.392512000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:29:50.823972000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 12:15:48.622488000 -0700
++++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 12:16:00.210675000 -0700
 @@ -107,6 +107,8 @@
  	struct list_head master_list;
  	struct list_head mle_hb_events;

Added: branches/ocfs2-1.2-cert/patches/dlm-recovery-stage-mlogs.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/dlm-recovery-stage-mlogs.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/dlm-recovery-stage-mlogs.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -0,0 +1,109 @@
+Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
+===================================================================
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:10:53.000000000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:14:04.901052000 -0700
+@@ -527,6 +527,7 @@
+ 	int all_nodes_done;
+ 	int destroy = 0;
+ 	int pass = 0;
++	unsigned long long mlg;
+ 
+ 	status = dlm_init_recovery_area(dlm, dead_node);
+ 	if (status < 0)
+@@ -565,9 +566,9 @@
+ 				BUG();
+ 				break;
+ 			case DLM_RECO_NODE_DATA_DEAD:
+-				mlog(0, "node %u died after requesting "
+-				     "recovery info for node %u\n",
+-				     ndata->node_num, dead_node);
++				mlog(ML_ERROR, "%s:node %u died after "
++				     "requesting recovery info for node %u\n",
++				     dlm->name, ndata->node_num, dead_node);
+ 				// start all over
+ 				destroy = 1;
+ 				status = -EAGAIN;
+@@ -599,6 +600,7 @@
+ 	while (1) {
+ 		/* check all the nodes now to see if we are
+ 		 * done, or if anyone died */
++		pass++;
+ 		all_nodes_done = 1;
+ 		spin_lock(&dlm_reco_state_lock);
+ 		list_for_each(iter, &dlm->reco.node_data) {
+@@ -639,7 +641,13 @@
+ 					goto leave;
+ 				case DLM_RECO_NODE_DATA_RECEIVING:
+ 				case DLM_RECO_NODE_DATA_REQUESTED:
+-					mlog(0, "%s: node %u still in state %s\n",
++					if (pass % 1000)
++						mlg = ML_ERROR;
++					else if (pass % 100 == 0)
++						mlg = ML_NOTICE;
++					else
++						mlg = 0;
++					mlog(mlg, "%s: node %u still in state %s\n",
+ 					     dlm->name, ndata->node_num,
+ 					     ndata->state==DLM_RECO_NODE_DATA_RECEIVING ?
+ 					     "receiving" : "requested");
+@@ -657,7 +665,7 @@
+ 		}
+ 		spin_unlock(&dlm_reco_state_lock);
+ 
+-		mlog(0, "pass #%d, all_nodes_done?: %s\n", ++pass,
++		mlog(0, "pass #%d, all_nodes_done?: %s\n", pass,
+ 		     all_nodes_done?"yes":"no");
+ 		if (all_nodes_done) {
+ 			int ret;
+@@ -2116,13 +2124,13 @@
+ 	assert_spin_locked(&dlm->spinlock);
+ 
+ 	if (dlm->reco.new_master == idx) {
+-		mlog(0, "%s: recovery master %d just died\n",
++		mlog(ML_NOTICE, "%s: recovery master %d just died\n",
+ 		     dlm->name, idx);
+ 		if (dlm->reco.state & DLM_RECO_STATE_FINALIZE) {
+ 			/* finalize1 was reached, so it is safe to clear
+ 			 * the new_master and dead_node.  that recovery
+ 			 * is complete. */
+-			mlog(0, "%s: dead master %d had reached "
++			mlog(ML_NOTICE, "%s: dead master %d had reached "
+ 			     "finalize1 state, clearing\n", dlm->name, idx);
+ 			dlm->reco.state &= ~DLM_RECO_STATE_FINALIZE;
+ 			__dlm_reset_recovery(dlm);
+@@ -2436,7 +2444,7 @@
+ 			msleep(100);
+ 			goto retry;
+ 		} else if (ret == EAGAIN) {
+-			mlog(0, "%s: trying to start recovery of node "
++			mlog(ML_NOTICE, "%s: trying to start recovery of node "
+ 			     "%u, but node %u is waiting for last recovery "
+ 			     "to complete, backoff for a bit\n", dlm->name,
+ 			     dead_node, nodenum);
+@@ -2459,7 +2467,7 @@
+ 
+ 	spin_lock(&dlm->spinlock);
+ 	if (dlm->reco.state & DLM_RECO_STATE_FINALIZE) {
+-		mlog(0, "%s: node %u wants to recover node %u (%u:%u) "
++		mlog(ML_NOTICE, "%s: node %u wants to recover node %u (%u:%u) "
+ 		     "but this node is in finalize state, waiting on finalize2\n",
+ 		     dlm->name, br->node_idx, br->dead_node,
+ 		     dlm->reco.dead_node, dlm->reco.new_master);
+@@ -2531,7 +2539,7 @@
+ 	int status;
+ 	int stage = 1;
+ 
+-	mlog(0, "finishing recovery for node %s:%u, "
++	mlog(ML_NOTICE, "finishing recovery for node %s:%u, "
+ 	     "stage %d\n", dlm->name, dlm->reco.dead_node, stage);
+ 
+ 	spin_lock(&dlm->spinlock);
+@@ -2588,7 +2596,7 @@
+ 	if (fr->flags & DLM_FINALIZE_STAGE2)
+ 		stage = 2;
+ 
+-	mlog(0, "%s: node %u finalizing recovery stage%d of "
++	mlog(ML_NOTICE, "%s: node %u finalizing recovery stage%d of "
+ 	    "node %u (%u:%u)\n", dlm->name, fr->node_idx, stage,
+ 	    fr->dead_node, dlm->reco.dead_node, dlm->reco.new_master);
+ 

Modified: branches/ocfs2-1.2-cert/patches/dlm-replace_gfp_kernel_with_nofs
===================================================================
--- branches/ocfs2-1.2-cert/patches/dlm-replace_gfp_kernel_with_nofs	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/dlm-replace_gfp_kernel_with_nofs	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:19:59.501211000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:20:13.647566000 -0700
-@@ -768,7 +768,7 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:42.773426000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:45.594457000 -0700
+@@ -767,7 +767,7 @@
  		}
  		BUG_ON(num == dead_node);
  
@@ -11,7 +11,7 @@
  		if (!ndata) {
  			dlm_destroy_recovery_area(dlm, dead_node);
  			return -ENOMEM;
-@@ -852,14 +852,14 @@
+@@ -851,14 +851,14 @@
  	}
  	BUG_ON(lr->dead_node != dlm->reco.dead_node);
  
@@ -28,7 +28,7 @@
  	if (!buf) {
  		kfree(item);
  		dlm_put(dlm);
-@@ -1337,8 +1337,8 @@
+@@ -1336,8 +1336,8 @@
  		mlog(0, "all done flag.  all lockres data received!\n");
  
  	ret = -ENOMEM;
@@ -41,8 +41,8 @@
  
 Index: cert3/fs/ocfs2/dlm/dlmdebug.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmdebug.c	2006-04-17 15:59:05.073714000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmdebug.c	2006-04-18 14:20:13.681532000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmdebug.c	2006-04-18 14:34:25.239529000 -0700
++++ cert3/fs/ocfs2/dlm/dlmdebug.c	2006-04-19 12:15:45.604457000 -0700
 @@ -177,7 +177,7 @@
  		mlog(ML_ERROR, "user passed too little data: %d bytes\n", len);
  		goto leave;
@@ -63,8 +63,8 @@
  		ret = -ENOMEM;
 Index: cert3/fs/ocfs2/dlm/dlmdomain.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmdomain.c	2006-04-18 14:16:29.145894000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmdomain.c	2006-04-18 14:20:13.696518000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmdomain.c	2006-04-19 12:15:34.858011000 -0700
++++ cert3/fs/ocfs2/dlm/dlmdomain.c	2006-04-19 12:15:45.616457000 -0700
 @@ -892,7 +892,7 @@
  
  	mlog_entry("%p", dlm);
@@ -101,8 +101,8 @@
  		kfree(dlm->name);
 Index: cert3/fs/ocfs2/dlm/dlmfs.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmfs.c	2006-04-17 15:59:05.318591000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmfs.c	2006-04-18 14:20:13.720493000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmfs.c	2006-04-18 14:34:25.550424000 -0700
++++ cert3/fs/ocfs2/dlm/dlmfs.c	2006-04-19 12:15:45.624457000 -0700
 @@ -116,7 +116,7 @@
  	 * doesn't make sense for LVB writes. */
  	file->f_flags &= ~O_APPEND;
@@ -132,8 +132,8 @@
  
 Index: cert3/fs/ocfs2/dlm/dlmlock.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:16:19.222114000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:20:13.728485000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:26.909594000 -0700
++++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:45.634457000 -0700
 @@ -408,13 +408,13 @@
  	struct dlm_lock *lock;
  	int kernel_allocated = 0;
@@ -152,9 +152,9 @@
  			return NULL;
 Index: cert3/fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:19:59.480232000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:20:13.757456000 -0700
-@@ -699,11 +699,11 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:42.752426000 -0700
++++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:45.664457000 -0700
+@@ -707,11 +707,11 @@
  {
  	struct dlm_lock_resource *res;
  
@@ -168,7 +168,7 @@
  	if (!res->lockname.name) {
  		kfree(res);
  		return NULL;
-@@ -766,7 +766,7 @@
+@@ -774,7 +774,7 @@
  		mlog(0, "allocating a new resource\n");
  		/* nothing found and we need to allocate one. */
  		alloc_mle = (struct dlm_master_list_entry *)
@@ -177,7 +177,7 @@
  		if (!alloc_mle)
  			goto leave;
  		res = dlm_new_lockres(dlm, lockid, namelen);
-@@ -1587,7 +1587,7 @@
+@@ -1595,7 +1595,7 @@
  			spin_unlock(&dlm->spinlock);
  
  			mle = (struct dlm_master_list_entry *)
@@ -186,7 +186,7 @@
  			if (!mle) {
  				response = DLM_MASTER_RESP_ERROR;
  				mlog_errno(-ENOMEM);
-@@ -1996,7 +1996,7 @@
+@@ -2002,7 +2002,7 @@
  			       int ignore_higher, u8 request_from, u32 flags)
  {
  	struct dlm_work_item *item;
@@ -195,7 +195,7 @@
  	if (!item)
  		return -ENOMEM;
  
-@@ -2232,14 +2232,14 @@
+@@ -2238,14 +2238,14 @@
  	 */
  
  	ret = -ENOMEM;
@@ -212,7 +212,7 @@
  	if (!mle) {
  		mlog_errno(ret);
  		goto leave;
-@@ -2693,7 +2693,7 @@
+@@ -2699,7 +2699,7 @@
  
  	/* preallocate.. if this fails, abort */
  	mle = (struct dlm_master_list_entry *) kmem_cache_alloc(dlm_mle_cache,
@@ -223,8 +223,8 @@
  		ret = -ENOMEM;
 Index: cert3/fs/ocfs2/dlm/userdlm.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/userdlm.c	2006-04-17 15:59:05.434590000 -0700
-+++ cert3/fs/ocfs2/dlm/userdlm.c	2006-04-18 14:20:13.780444000 -0700
+--- cert3.orig/fs/ocfs2/dlm/userdlm.c	2006-04-18 14:34:25.611422000 -0700
++++ cert3/fs/ocfs2/dlm/userdlm.c	2006-04-19 12:15:45.673457000 -0700
 @@ -672,7 +672,7 @@
  	u32 dlm_key;
  	char *domain;

Modified: branches/ocfs2-1.2-cert/patches/fix-death-during-recovery.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/fix-death-during-recovery.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/fix-death-during-recovery.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:16:19.243114000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:16:23.775504000 -0700
-@@ -503,6 +503,7 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:26.937585000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:29.550625000 -0700
+@@ -502,6 +502,7 @@
  
  	status = dlm_remaster_locks(dlm, dlm->reco.dead_node);
  	if (status < 0) {
@@ -10,7 +10,7 @@
  		mlog(ML_ERROR, "error %d remastering locks for node %u, "
  		     "retrying.\n", status, dlm->reco.dead_node);
  		/* yield a bit to allow any final network messages
-@@ -530,9 +531,16 @@
+@@ -529,9 +530,16 @@
  	int pass = 0;
  	unsigned long long mlg;
  
@@ -30,7 +30,7 @@
  
  	/* safe to access the node data list without a lock, since this
  	 * process is the only one to change the list */
-@@ -549,16 +557,36 @@
+@@ -548,16 +556,36 @@
  			continue;
  		}
  
@@ -76,7 +76,7 @@
  
  		switch (ndata->state) {
  			case DLM_RECO_NODE_DATA_INIT:
-@@ -570,10 +598,9 @@
+@@ -569,10 +597,9 @@
  				mlog(ML_ERROR, "%s:node %u died after "
  				     "requesting recovery info for node %u\n",
  				     dlm->name, ndata->node_num, dead_node);
@@ -90,7 +90,7 @@
  			case DLM_RECO_NODE_DATA_REQUESTING:
  				ndata->state = DLM_RECO_NODE_DATA_REQUESTED;
  				mlog(0, "now receiving recovery data from "
-@@ -618,28 +645,12 @@
+@@ -617,28 +644,12 @@
  					BUG();
  					break;
  				case DLM_RECO_NODE_DATA_DEAD:
@@ -121,7 +121,7 @@
  				case DLM_RECO_NODE_DATA_RECEIVING:
  				case DLM_RECO_NODE_DATA_REQUESTED:
  					if (pass % 1000)
-@@ -690,7 +701,7 @@
+@@ -689,7 +700,7 @@
  			     jiffies, dlm->reco.dead_node,
  			     dlm->node_num, dlm->reco.new_master);
  			destroy = 1;
@@ -130,7 +130,7 @@
  			/* rescan everything marked dirty along the way */
  			dlm_kick_thread(dlm, NULL);
  			break;
-@@ -703,7 +714,6 @@
+@@ -702,7 +713,6 @@
  
  	}
  
@@ -138,7 +138,7 @@
  	if (destroy)
  		dlm_destroy_recovery_area(dlm, dead_node);
  
-@@ -862,24 +872,22 @@
+@@ -861,24 +871,22 @@
  
  	if (dead_node != dlm->reco.dead_node ||
  	    reco_master != dlm->reco.new_master) {
@@ -178,7 +178,7 @@
  
  	/* lock resources should have already been moved to the
   	 * dlm->reco.resources list.  now move items from that list
-@@ -921,7 +929,7 @@
+@@ -920,7 +928,7 @@
  			     reco_master, dead_node);
  		}
  	}

Modified: branches/ocfs2-1.2-cert/patches/fix-dlmlock_remote.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/fix-dlmlock_remote.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/fix-dlmlock_remote.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmlock.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:11:45.202243000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:16:07.615656000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:06.832054000 -0700
++++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:17.261501000 -0700
 @@ -200,6 +200,7 @@
  				      struct dlm_lock *lock, int flags)
  {

Modified: branches/ocfs2-1.2-cert/patches/fix-purge-lockres.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/fix-purge-lockres.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/fix-purge-lockres.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: fs/ocfs2/dlm/dlmthread.c
 ===================================================================
---- fs/ocfs2/dlm/dlmthread.c.orig	2006-04-18 14:01:04.191802000 -0700
-+++ fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:01:49.656402000 -0700
+--- fs/ocfs2/dlm/dlmthread.c.orig	2006-04-19 11:13:12.516915000 -0700
++++ fs/ocfs2/dlm/dlmthread.c	2006-04-19 12:14:59.181366000 -0700
 @@ -57,6 +57,8 @@
  extern struct list_head dlm_domains;
  

Modified: branches/ocfs2-1.2-cert/patches/fix-recovery-spin.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/fix-recovery-spin.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/fix-recovery-spin.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: cert3/fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:12:26.794818000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:16:04.697622000 -0700
-@@ -875,7 +875,7 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:09.395085000 -0700
++++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:14.671470000 -0700
+@@ -883,7 +883,7 @@
  		} 
  
  		dlm_kick_recovery_thread(dlm);
@@ -11,7 +11,7 @@
  		dlm_wait_for_recovery(dlm);
  
  		spin_lock(&dlm->spinlock);
-@@ -2106,6 +2106,7 @@
+@@ -2112,6 +2112,7 @@
  				BUG();
  			/* host is down, so answer for that node would be
  			 * DLM_LOCK_RES_OWNER_UNKNOWN.  continue. */

Modified: branches/ocfs2-1.2-cert/patches/fix-remote-lock-during-reco.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/fix-remote-lock-during-reco.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/fix-remote-lock-during-reco.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmlock.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:16:13.380950000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:16:19.222114000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:21.973161000 -0700
++++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:26.909594000 -0700
 @@ -226,7 +226,16 @@
  	res->state &= ~DLM_LOCK_RES_IN_PROGRESS;
  	lock->lock_pending = 0;
@@ -54,9 +54,9 @@
  		if (status != DLM_NORMAL) {
 Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:05:57.383042000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:16:19.243114000 -0700
-@@ -2426,6 +2426,10 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:04.382700000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:26.937585000 -0700
+@@ -2425,6 +2425,10 @@
  		mlog(ML_NOTICE, "%s: reco master %u is ready to recover %u\n",
  		     dlm->name, dlm->reco.new_master, dlm->reco.dead_node);
  		status = -EEXIST;

Modified: branches/ocfs2-1.2-cert/patches/fix-wait-in-mastery.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/fix-wait-in-mastery.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/fix-wait-in-mastery.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmcommon.h
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:16:01.253910000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:19:59.460252000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 12:15:11.964393000 -0700
++++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 12:15:42.733426000 -0700
 @@ -700,6 +700,7 @@
  void dlm_kick_recovery_thread(struct dlm_ctxt *dlm);
  int dlm_is_node_dead(struct dlm_ctxt *dlm, u8 node);
@@ -12,9 +12,9 @@
  void dlm_put(struct dlm_ctxt *dlm);
 Index: cert3/fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:16:16.525841000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:19:59.480232000 -0700
-@@ -888,6 +888,9 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:24.584240000 -0700
++++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:42.752426000 -0700
+@@ -896,6 +896,9 @@
  		} else
  			wait_on_recovery = 0;
  		spin_unlock(&dlm->spinlock);
@@ -26,8 +26,8 @@
  	/* must wait for lock to be mastered elsewhere */
 Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:16:34.956962000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:19:59.501211000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:40.321072000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:42.773426000 -0700
 @@ -344,6 +344,18 @@
  	return dead;
  }

Modified: branches/ocfs2-1.2-cert/patches/hb-add_tracking_around_configured_nodes
===================================================================
--- branches/ocfs2-1.2-cert/patches/hb-add_tracking_around_configured_nodes	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/hb-add_tracking_around_configured_nodes	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/cluster/heartbeat.c
 ===================================================================
---- cert3.orig/fs/ocfs2/cluster/heartbeat.c	2006-04-18 14:16:10.289006000 -0700
-+++ cert3/fs/ocfs2/cluster/heartbeat.c	2006-04-18 14:20:24.580099000 -0700
+--- cert3.orig/fs/ocfs2/cluster/heartbeat.c	2006-04-19 12:15:19.641855000 -0700
++++ cert3/fs/ocfs2/cluster/heartbeat.c	2006-04-19 12:15:51.643519000 -0700
 @@ -931,12 +931,14 @@
  	struct o2hb_bio_wait_ctxt write_wc;
  	struct timeval start;

Modified: branches/ocfs2-1.2-cert/patches/hold-dirty-ref.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/hold-dirty-ref.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/hold-dirty-ref.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmcommon.h
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:01:07.715809000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:16:01.253910000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 11:31:21.585283000 -0700
++++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 12:15:11.964393000 -0700
 @@ -219,18 +219,26 @@
  	struct hlist_node hash_node;
  	struct kref      refs;
@@ -34,8 +34,8 @@
  	unsigned migration_pending:1;
 Index: cert3/fs/ocfs2/dlm/dlmthread.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:01:49.656402000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:16:01.262910000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmthread.c	2006-04-19 12:14:59.181366000 -0700
++++ cert3/fs/ocfs2/dlm/dlmthread.c	2006-04-19 12:15:11.974383000 -0700
 @@ -466,6 +466,8 @@
  	/* don't shuffle secondary queues */
  	if ((res->owner == dlm->node_num) &&

Modified: branches/ocfs2-1.2-cert/patches/hold-recovery-ref.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/hold-recovery-ref.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/hold-recovery-ref.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,14 +1,14 @@
 Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-17 17:58:21.096120000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:01:04.152803000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:42:34.672969000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:51:31.846247000 -0700
 @@ -1782,8 +1782,14 @@
  	struct dlm_lock *lock;
  
  	res->state |= DLM_LOCK_RES_RECOVERING;
 -	if (!list_empty(&res->recovering))
 +	if (!list_empty(&res->recovering)) {
-+		mlog(ML_NOTICE,
++		mlog(0,
 +		     "Recovering res %s:%.*s, is already on recovery list!\n",
 +		     dlm->name, res->lockname.len, res->lockname.name);
  		list_del_init(&res->recovering);
@@ -48,8 +48,8 @@
  			}
 Index: cert3/fs/ocfs2/dlm/dlmcommon.h
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-17 17:06:50.062688000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:01:04.173802000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:42:32.530754000 -0700
++++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:50:05.573065000 -0700
 @@ -858,6 +858,7 @@
  
  
@@ -60,8 +60,8 @@
  static inline const char * dlm_lock_mode_name(int mode)
 Index: cert3/fs/ocfs2/dlm/dlmthread.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmthread.c	2006-04-17 16:23:51.218905000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:01:04.191802000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:42:30.992252000 -0700
++++ cert3/fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:50:05.590064000 -0700
 @@ -82,7 +82,7 @@
  }
  

Modified: branches/ocfs2-1.2-cert/patches/jrnl-change_gfp_kernel_to_nofs
===================================================================
--- branches/ocfs2-1.2-cert/patches/jrnl-change_gfp_kernel_to_nofs	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/jrnl-change_gfp_kernel_to_nofs	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/extent_map.c
 ===================================================================
---- cert3.orig/fs/ocfs2/extent_map.c	2006-04-17 16:06:30.898745000 -0700
-+++ cert3/fs/ocfs2/extent_map.c	2006-04-18 14:25:25.816145000 -0700
+--- cert3.orig/fs/ocfs2/extent_map.c	2006-04-19 11:12:51.669531000 -0700
++++ cert3/fs/ocfs2/extent_map.c	2006-04-19 12:15:54.251568000 -0700
 @@ -581,7 +581,7 @@
  
  	ret = -ENOMEM;
@@ -30,8 +30,8 @@
  		}
 Index: cert3/fs/ocfs2/journal.c
 ===================================================================
---- cert3.orig/fs/ocfs2/journal.c	2006-04-18 14:00:53.905090000 -0700
-+++ cert3/fs/ocfs2/journal.c	2006-04-18 14:25:25.829132000 -0700
+--- cert3.orig/fs/ocfs2/journal.c	2006-04-19 11:13:07.079645000 -0700
++++ cert3/fs/ocfs2/journal.c	2006-04-19 12:15:54.263556000 -0700
 @@ -117,7 +117,7 @@
  {
  	struct ocfs2_journal_handle *retval = NULL;
@@ -52,8 +52,8 @@
  		 * skipping local alloc cleanup as fsck.ocfs2 is more
 Index: cert3/fs/ocfs2/cluster/nodemanager.c
 ===================================================================
---- cert3.orig/fs/ocfs2/cluster/nodemanager.c	2006-04-17 15:59:02.613554000 -0700
-+++ cert3/fs/ocfs2/cluster/nodemanager.c	2006-04-18 14:25:25.867094000 -0700
+--- cert3.orig/fs/ocfs2/cluster/nodemanager.c	2006-04-18 14:34:22.759388000 -0700
++++ cert3/fs/ocfs2/cluster/nodemanager.c	2006-04-19 12:15:54.285550000 -0700
 @@ -550,7 +550,7 @@
  	if (strlen(name) > O2NM_MAX_NAME_LEN)
  		goto out; /* ENAMETOOLONG */
@@ -78,8 +78,8 @@
  		goto out;
 Index: cert3/fs/ocfs2/cluster/heartbeat.c
 ===================================================================
---- cert3.orig/fs/ocfs2/cluster/heartbeat.c	2006-04-18 14:20:24.580099000 -0700
-+++ cert3/fs/ocfs2/cluster/heartbeat.c	2006-04-18 14:25:25.890071000 -0700
+--- cert3.orig/fs/ocfs2/cluster/heartbeat.c	2006-04-19 12:15:51.643519000 -0700
++++ cert3/fs/ocfs2/cluster/heartbeat.c	2006-04-19 12:15:54.300550000 -0700
 @@ -481,7 +481,7 @@
  	o2hb_compute_request_limits(reg, max_slots, &num_bios, &slots_per_bio);
  
@@ -143,8 +143,8 @@
  
 Index: cert3/fs/ocfs2/cluster/net_proc.c
 ===================================================================
---- cert3.orig/fs/ocfs2/cluster/net_proc.c	2006-04-18 14:16:26.301852000 -0700
-+++ cert3/fs/ocfs2/cluster/net_proc.c	2006-04-18 14:25:25.903058000 -0700
+--- cert3.orig/fs/ocfs2/cluster/net_proc.c	2006-04-19 12:15:32.233677000 -0700
++++ cert3/fs/ocfs2/cluster/net_proc.c	2006-04-19 12:15:54.307550000 -0700
 @@ -156,7 +156,7 @@
  	struct seq_file *seq;
  	int ret;
@@ -165,8 +165,8 @@
  		goto out;
 Index: cert3/fs/ocfs2/vote.c
 ===================================================================
---- cert3.orig/fs/ocfs2/vote.c	2006-04-17 15:59:02.631554000 -0700
-+++ cert3/fs/ocfs2/vote.c	2006-04-18 14:25:25.930031000 -0700
+--- cert3.orig/fs/ocfs2/vote.c	2006-04-18 14:34:22.794388000 -0700
++++ cert3/fs/ocfs2/vote.c	2006-04-19 12:15:54.318550000 -0700
 @@ -598,7 +598,7 @@
  {
  	struct ocfs2_net_wait_ctxt *w;

Modified: branches/ocfs2-1.2-cert/patches/lockres-release-info.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/lockres-release-info.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/lockres-release-info.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: cert3/fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 13:58:02.717881000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:00:58.839560000 -0700
-@@ -613,6 +613,20 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:42:38.907676000 -0700
++++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:47:43.682671000 -0700
+@@ -613,6 +613,28 @@
  	mlog(0, "destroying lockres %.*s\n", res->lockname.len,
  	     res->lockname.name);
  
@@ -15,8 +15,16 @@
 +	    !list_empty(&res->purge)) {
 +		mlog(ML_ERROR,
 +		     "Going to BUG for resource %.*s."
-+		     "  We're on a list!\n",
-+		     res->lockname.len, res->lockname.name);
++		     "  We're on a list! [%c%c%c%c%c%c%c]\n",
++		     res->lockname.len, res->lockname.name,
++		     !hlist_unhashed(&res->hash_node) ? 'H' : ' ',
++		     !list_empty(&res->granted) ? 'G' : ' ',
++		     !list_empty(&res->converting) ? 'C' : ' ',
++		     !list_empty(&res->blocked) ? 'B' : ' ',
++		     !list_empty(&res->dirty) ? 'D' : ' ',
++		     !list_empty(&res->recovering) ? 'R' : ' ',
++		     !list_empty(&res->purge) ? 'P' : ' ');
++
 +		dlm_print_one_lock_resource(res);
 +	}
 +

Modified: branches/ocfs2-1.2-cert/patches/lvb-recovery-fix.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/lvb-recovery-fix.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/lvb-recovery-fix.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- fs/ocfs2/dlm/dlmrecovery.c.orig	2006-04-18 14:01:36.000000000 -0700
-+++ fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:05:57.383042000 -0700
-@@ -1605,6 +1605,66 @@
+--- fs/ocfs2/dlm/dlmrecovery.c.orig	2006-04-19 12:14:04.901052000 -0700
++++ fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:04.382700000 -0700
+@@ -1604,6 +1604,66 @@
   * TODO: do MIGRATING and RECOVERING spinning
   */
  
@@ -69,7 +69,7 @@
  /*
  * NOTE about in-flight requests during migration:
  *
-@@ -1707,40 +1767,50 @@
+@@ -1706,40 +1766,50 @@
  		}
  		lksb->flags |= (ml->flags &
  				(DLM_LKSB_PUT_LVB|DLM_LKSB_GET_LVB));
@@ -138,7 +138,7 @@
  
  		/* NOTE:
  		 * wrt lock queue ordering and recovery:
-@@ -1761,6 +1831,7 @@
+@@ -1760,6 +1830,7 @@
  		bad = 0;
  		spin_lock(&res->spinlock);
  		list_for_each_entry(lock, queue, list) {

Modified: branches/ocfs2-1.2-cert/patches/mar24-create-lock-handler.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/mar24-create-lock-handler.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/mar24-create-lock-handler.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: fs/ocfs2/dlm/dlmlock.c
 ===================================================================
---- fs/ocfs2/dlm/dlmlock.c.orig	2006-04-17 15:59:17.678740000 -0700
-+++ fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:11:45.202243000 -0700
+--- fs/ocfs2/dlm/dlmlock.c.orig	2006-04-18 14:34:36.506882000 -0700
++++ fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:06.832054000 -0700
 @@ -280,6 +280,14 @@
  	if (tmpret >= 0) {
  		// successfully sent and received

Modified: branches/ocfs2-1.2-cert/patches/mastery-restart-recovery.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/mastery-restart-recovery.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/mastery-restart-recovery.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- fs/ocfs2/dlm/dlmmaster.c.orig	2006-04-18 14:01:52.218442000 -0700
-+++ fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:12:26.794818000 -0700
-@@ -856,6 +856,7 @@
+--- fs/ocfs2/dlm/dlmmaster.c.orig	2006-04-19 12:15:01.917663000 -0700
++++ fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:09.395085000 -0700
+@@ -864,6 +864,7 @@
  	spin_unlock(&dlm->master_lock);
  	spin_unlock(&dlm->spinlock);
  
@@ -10,7 +10,7 @@
  	while (wait_on_recovery) {
  		/* any cluster changes that occurred after dropping the
  		 * dlm spinlock would be detectable be a change on the mle,
-@@ -893,7 +894,6 @@
+@@ -901,7 +902,6 @@
  	if (blocked)
  		goto wait;
  
@@ -18,7 +18,7 @@
  	ret = -EINVAL;
  	dlm_node_iter_init(mle->vote_map, &iter);
  	while ((nodenum = dlm_node_iter_next(&iter)) >= 0) {
-@@ -918,7 +918,8 @@
+@@ -926,7 +926,8 @@
  	/* keep going until the response map includes all nodes */
  	ret = dlm_wait_for_lock_mastery(dlm, res, mle, &blocked);
  	if (ret < 0) {
@@ -28,7 +28,7 @@
  		     "master request now, blocked=%d\n",
  		     dlm->name, res->lockname.len,
  		     res->lockname.name, blocked);
-@@ -1199,7 +1200,60 @@
+@@ -1207,7 +1208,60 @@
  			set_bit(node, mle->vote_map);
  		} else {
  			mlog(ML_ERROR, "node down! %d\n", node);
@@ -89,7 +89,7 @@
  			/* if the node wasn't involved in mastery skip it,
  			 * but clear it out from the maps so that it will
  			 * not affect mastery of this lockres */
-@@ -1207,7 +1261,6 @@
+@@ -1215,7 +1269,6 @@
  			clear_bit(node, mle->vote_map);
  			if (!test_bit(node, mle->maybe_map))
  				goto next;
@@ -97,7 +97,7 @@
  			/* if we're already blocked on lock mastery, and the
  			 * dead node wasn't the expected master, or there is
  			 * another node in the maybe_map, keep waiting */
-@@ -1253,7 +1306,6 @@
+@@ -1261,7 +1314,6 @@
  				ret = -EAGAIN;
  				goto next;
  			}
@@ -105,7 +105,7 @@
  			clear_bit(node, mle->maybe_map);
  			if (node > dlm->node_num)
  				goto next;
-@@ -1263,9 +1315,12 @@
+@@ -1271,9 +1323,12 @@
  			 * in the vote_map, removing this node. */
  			memset(mle->response_map, 0,
  			       sizeof(mle->response_map));

Modified: branches/ocfs2-1.2-cert/patches/move-dlm-work-to-thread.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/move-dlm-work-to-thread.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/move-dlm-work-to-thread.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmcommon.h
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:19:59.460252000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:20:20.392512000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 12:15:42.733426000 -0700
++++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 12:15:48.622488000 -0700
 @@ -121,12 +121,13 @@
  	struct o2hb_callback_func dlm_hb_down;
  	struct task_struct *dlm_thread_task;
@@ -30,8 +30,8 @@
  void dlm_put(struct dlm_ctxt *dlm);
 Index: cert3/fs/ocfs2/dlm/dlmdomain.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmdomain.c	2006-04-18 14:20:13.696518000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmdomain.c	2006-04-18 14:20:20.405513000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmdomain.c	2006-04-19 12:15:45.616457000 -0700
++++ cert3/fs/ocfs2/dlm/dlmdomain.c	2006-04-19 12:15:48.635488000 -0700
 @@ -290,6 +290,7 @@
  	dlm_unregister_domain_handlers(dlm);
  	dlm_complete_thread(dlm);
@@ -89,9 +89,9 @@
  	dlm->dlm_state = DLM_CTXT_NEW;
 Index: cert3/fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:20:13.757456000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:20:20.426512000 -0700
-@@ -2018,7 +2018,7 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:45.664457000 -0700
++++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:48.661488000 -0700
+@@ -2024,7 +2024,7 @@
  	list_add_tail(&item->list, &dlm->work_list);
  	spin_unlock(&dlm->work_lock);
  
@@ -102,8 +102,8 @@
  
 Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:20:13.647566000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:20:20.452512000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:45.594457000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:48.682488000 -0700
 @@ -149,6 +149,72 @@
  	spin_unlock(&dlm->spinlock);
  }
@@ -211,7 +211,7 @@
  
  		dlm_put(dlm);
  		kfree(item);
-@@ -874,7 +950,7 @@
+@@ -873,7 +949,7 @@
  	spin_lock(&dlm->work_lock);
  	list_add_tail(&item->list, &dlm->work_list);
  	spin_unlock(&dlm->work_lock);
@@ -220,7 +220,7 @@
  
  	dlm_put(dlm);
  	return 0;
-@@ -1429,7 +1505,7 @@
+@@ -1428,7 +1504,7 @@
  	spin_lock(&dlm->work_lock);
  	list_add_tail(&item->list, &dlm->work_list);
  	spin_unlock(&dlm->work_lock);
@@ -231,8 +231,8 @@
  	dlm_put(dlm);
 Index: cert3/fs/ocfs2/dlm/dlmthread.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:16:13.371959000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:20:20.462502000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmthread.c	2006-04-19 12:15:21.963171000 -0700
++++ cert3/fs/ocfs2/dlm/dlmthread.c	2006-04-19 12:15:48.692488000 -0700
 @@ -750,7 +750,7 @@
  
  		/* yield and continue right away if there is more work to do */

Modified: branches/ocfs2-1.2-cert/patches/never-purge-master.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/never-purge-master.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/never-purge-master.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: cert3/fs/ocfs2/dlm/dlmthread.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:16:01.262910000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmthread.c	2006-04-18 14:16:13.371959000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmthread.c	2006-04-19 12:15:11.974383000 -0700
++++ cert3/fs/ocfs2/dlm/dlmthread.c	2006-04-19 12:15:21.963171000 -0700
 @@ -107,6 +107,21 @@
  	assert_spin_locked(&res->spinlock);
  
@@ -26,8 +26,8 @@
  			     res->lockname.len, res->lockname.name);
 Index: cert3/fs/ocfs2/dlm/dlmlock.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:16:07.615656000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-18 14:16:13.380950000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:17.261501000 -0700
++++ cert3/fs/ocfs2/dlm/dlmlock.c	2006-04-19 12:15:21.973161000 -0700
 @@ -226,14 +226,18 @@
  	res->state &= ~DLM_LOCK_RES_IN_PROGRESS;
  	lock->lock_pending = 0;

Modified: branches/ocfs2-1.2-cert/patches/ocfs2-1.2-no-idr-0.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/ocfs2-1.2-no-idr-0.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/ocfs2-1.2-no-idr-0.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: fs/ocfs2/cluster/net_proc.c
 ===================================================================
---- fs/ocfs2/cluster/net_proc.c.orig	2006-04-17 15:59:09.204309000 -0700
-+++ fs/ocfs2/cluster/net_proc.c	2006-04-18 14:16:26.301852000 -0700
+--- fs/ocfs2/cluster/net_proc.c.orig	2006-04-18 14:34:29.680134000 -0700
++++ fs/ocfs2/cluster/net_proc.c	2006-04-19 12:15:32.233677000 -0700
 @@ -117,6 +117,7 @@
  			   "  process name: %s\n"
  			   "  node:         %u\n"
@@ -67,8 +67,8 @@
  
 Index: fs/ocfs2/cluster/tcp.c
 ===================================================================
---- fs/ocfs2/cluster/tcp.c.orig	2006-04-17 15:59:09.209306000 -0700
-+++ fs/ocfs2/cluster/tcp.c	2006-04-18 14:16:26.342811000 -0700
+--- fs/ocfs2/cluster/tcp.c.orig	2006-04-18 14:34:29.687139000 -0700
++++ fs/ocfs2/cluster/tcp.c	2006-04-19 12:15:32.248662000 -0700
 @@ -56,7 +56,6 @@
  #include <linux/kernel.h>
  #include <linux/jiffies.h>
@@ -230,8 +230,8 @@
  
 Index: fs/ocfs2/cluster/tcp_internal.h
 ===================================================================
---- fs/ocfs2/cluster/tcp_internal.h.orig	2006-04-17 15:59:09.452308000 -0700
-+++ fs/ocfs2/cluster/tcp_internal.h	2006-04-18 14:16:26.364789000 -0700
+--- fs/ocfs2/cluster/tcp_internal.h.orig	2006-04-18 14:34:29.988136000 -0700
++++ fs/ocfs2/cluster/tcp_internal.h	2006-04-19 12:15:32.256656000 -0700
 @@ -62,7 +62,7 @@
  	 * or fails or when an accepted socket is attached. */
  	wait_queue_head_t		nn_sc_wq;

Modified: branches/ocfs2-1.2-cert/patches/ocfs2_dlm-do_lvb_puts_inline2.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/ocfs2_dlm-do_lvb_puts_inline2.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/ocfs2_dlm-do_lvb_puts_inline2.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
 Index: fs/ocfs2/dlm/dlmconvert.c
 ===================================================================
---- fs/ocfs2/dlm/dlmconvert.c.orig	2006-04-17 15:59:24.924459000 -0700
-+++ fs/ocfs2/dlm/dlmconvert.c	2006-04-18 14:00:56.482362000 -0700
+--- fs/ocfs2/dlm/dlmconvert.c.orig	2006-04-18 14:34:41.613270000 -0700
++++ fs/ocfs2/dlm/dlmconvert.c	2006-04-18 14:43:18.353118000 -0700
 @@ -214,6 +214,9 @@
  	if (lock->ml.node == dlm->node_num)
  		mlog(0, "doing in-place convert for nonlocal lock\n");
@@ -14,27 +14,23 @@
  	goto unlock_exit;
 Index: fs/ocfs2/dlm/dlmast.c
 ===================================================================
---- fs/ocfs2/dlm/dlmast.c.orig	2006-04-17 15:59:25.041341000 -0700
-+++ fs/ocfs2/dlm/dlmast.c	2006-04-18 14:00:56.503362000 -0700
-@@ -197,12 +197,20 @@
+--- fs/ocfs2/dlm/dlmast.c.orig	2006-04-18 14:34:41.918273000 -0700
++++ fs/ocfs2/dlm/dlmast.c	2006-04-18 14:44:08.809696000 -0700
+@@ -197,12 +197,12 @@
  				  lock->ml.node == dlm->node_num ? "master" :
  				  "remote");
  			memcpy(lksb->lvb, res->lvb, DLM_LVB_LEN);
 -		} else if (lksb->flags & DLM_LKSB_PUT_LVB) {
-+		}
+-			mlog(0, "setting lvb from lockres for %s node\n",
+-				  lock->ml.node == dlm->node_num ? "master" :
+-				  "remote");
+-			memcpy(res->lvb, lksb->lvb, DLM_LVB_LEN);
+ 		}
 +		/* Do nothing for lvb put requests - they should be
 +		 * done in place when the lock is downconverted -
 +		 * otherwise we risk racing gets and puts which could
 +		 * result in old lvb data being propagated. We leave
 +		 * the flag set however ... */
-+#if 0
-+		else if (lksb->flags & DLM_LKSB_PUT_LVB) {
- 			mlog(0, "setting lvb from lockres for %s node\n",
- 				  lock->ml.node == dlm->node_num ? "master" :
- 				  "remote");
- 			memcpy(res->lvb, lksb->lvb, DLM_LVB_LEN);
- 		}
-+#endif
  		spin_unlock(&res->spinlock);
  	}
  

Modified: branches/ocfs2-1.2-cert/patches/ocfs2_heartbeat-better_I_O_error_handling.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/ocfs2_heartbeat-better_I_O_error_handling.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/ocfs2_heartbeat-better_I_O_error_handling.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -3,8 +3,8 @@
 
 Index: fs/ocfs2/cluster/heartbeat.c
 ===================================================================
---- fs/ocfs2/cluster/heartbeat.c.orig	2006-04-17 15:59:13.419023000 -0700
-+++ fs/ocfs2/cluster/heartbeat.c	2006-04-18 14:16:10.289006000 -0700
+--- fs/ocfs2/cluster/heartbeat.c.orig	2006-04-18 14:34:33.022171000 -0700
++++ fs/ocfs2/cluster/heartbeat.c	2006-04-19 12:15:19.641855000 -0700
 @@ -165,6 +165,7 @@
  struct o2hb_bio_wait_ctxt {
  	atomic_t          wc_num_reqs;

Modified: branches/ocfs2-1.2-cert/patches/reassert-vs-migration.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/reassert-vs-migration.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/reassert-vs-migration.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: cert3/fs/ocfs2/dlm/dlmmaster.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:16:04.697622000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-18 14:16:16.525841000 -0700
-@@ -2056,6 +2056,24 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:14.671470000 -0700
++++ cert3/fs/ocfs2/dlm/dlmmaster.c	2006-04-19 12:15:24.584240000 -0700
+@@ -2062,6 +2062,24 @@
  		}
  	}
  
@@ -27,7 +27,7 @@
  	/* this call now finishes out the nodemap
  	 * even if one or more nodes die */
  	mlog(0, "worker about to master %.*s here, this=%u\n",
-@@ -2068,6 +2086,10 @@
+@@ -2074,6 +2092,10 @@
  		mlog_errno(ret);
  	}
  

Modified: branches/ocfs2-1.2-cert/patches/remove-bad-spin-unlock.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/remove-bad-spin-unlock.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/remove-bad-spin-unlock.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,8 +1,8 @@
 Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:16:23.775504000 -0700
-+++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:16:32.211928000 -0700
-@@ -649,7 +649,6 @@
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:29.550625000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:15:37.440041000 -0700
+@@ -648,7 +648,6 @@
  					     "requesting recovery info for "
  					     "node %u\n", ndata->node_num,
  					     dead_node);

Modified: branches/ocfs2-1.2-cert/patches/series
===================================================================
--- branches/ocfs2-1.2-cert/patches/series	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/series	2006-04-19 19:18:42 UTC (rev 2843)
@@ -22,7 +22,10 @@
 lockres-release-info.patch 
 debug-mastery.patch 
 hold-recovery-ref.patch 
-two-stage-finalize.patch -p0
+debug-already-on-reco-list.patch
+two-stage-finalize.patch
+dlm-debug-bad-migrated-lvb.patch
+dlm-recovery-stage-mlogs.patch
 fix-purge-lockres.patch -p0
 dlm-eloop.patch -p0
 lvb-recovery-fix.patch -p0

Modified: branches/ocfs2-1.2-cert/patches/two-stage-finalize.patch
===================================================================
--- branches/ocfs2-1.2-cert/patches/two-stage-finalize.patch	2006-04-18 21:34:14 UTC (rev 2842)
+++ branches/ocfs2-1.2-cert/patches/two-stage-finalize.patch	2006-04-19 19:18:42 UTC (rev 2843)
@@ -1,7 +1,7 @@
-Index: fs/ocfs2/dlm/dlmcommon.h
+Index: cert3/fs/ocfs2/dlm/dlmcommon.h
 ===================================================================
---- fs/ocfs2/dlm/dlmcommon.h.orig	2006-04-18 14:01:04.173802000 -0700
-+++ fs/ocfs2/dlm/dlmcommon.h	2006-04-18 14:01:07.715809000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 11:25:06.000000000 -0700
++++ cert3/fs/ocfs2/dlm/dlmcommon.h	2006-04-19 11:31:21.585283000 -0700
 @@ -61,7 +61,8 @@
  	return 0;
  }
@@ -22,10 +22,10 @@
  	__be32 pad2;
  };
  
-Index: fs/ocfs2/dlm/dlmrecovery.c
+Index: cert3/fs/ocfs2/dlm/dlmrecovery.c
 ===================================================================
---- fs/ocfs2/dlm/dlmrecovery.c.orig	2006-04-18 14:01:04.152803000 -0700
-+++ fs/ocfs2/dlm/dlmrecovery.c	2006-04-18 14:01:36.169562000 -0700
+--- cert3.orig/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 11:25:07.000000000 -0700
++++ cert3/fs/ocfs2/dlm/dlmrecovery.c	2006-04-19 12:10:44.996421000 -0700
 @@ -134,12 +134,18 @@
  	dlm->reco.new_master = master;
  }
@@ -65,101 +65,18 @@
  	}
  	// wait_event(dlm->reco.event, !dlm_in_recovery(dlm));
  }
-@@ -429,6 +435,7 @@
- 		     dlm->reco.new_master, dlm->reco.dead_node);
- 		/* unset the new_master, leave dead_node */
- 		dlm_set_reco_master(dlm, O2NM_INVALID_NODE_NUM);
-+#warning need to make a decision here whether to move lockreses off of dlm->reco.resources or leave them
- 	}
- 
- 	/* select a target to recover */
-@@ -521,6 +528,7 @@
- 	int all_nodes_done;
- 	int destroy = 0;
- 	int pass = 0;
-+	unsigned long long mlg;
- 
- 	status = dlm_init_recovery_area(dlm, dead_node);
- 	if (status < 0)
-@@ -559,9 +567,9 @@
- 				BUG();
- 				break;
- 			case DLM_RECO_NODE_DATA_DEAD:
--				mlog(0, "node %u died after requesting "
--				     "recovery info for node %u\n",
--				     ndata->node_num, dead_node);
-+				mlog(ML_ERROR, "%s:node %u died after "
-+				     "requesting recovery info for node %u\n",
-+				     dlm->name, ndata->node_num, dead_node);
- 				// start all over
- 				destroy = 1;
- 				status = -EAGAIN;
-@@ -593,6 +601,7 @@
- 	while (1) {
- 		/* check all the nodes now to see if we are
- 		 * done, or if anyone died */
-+		pass++;
- 		all_nodes_done = 1;
- 		spin_lock(&dlm_reco_state_lock);
- 		list_for_each(iter, &dlm->reco.node_data) {
-@@ -633,7 +642,13 @@
- 					goto leave;
- 				case DLM_RECO_NODE_DATA_RECEIVING:
- 				case DLM_RECO_NODE_DATA_REQUESTED:
--					mlog(0, "%s: node %u still in state %s\n",
-+					if (pass % 1000)
-+						mlg = ML_ERROR;
-+					else if (pass % 100 == 0)
-+						mlg = ML_NOTICE;
-+					else
-+						mlg = 0;
-+					mlog(mlg, "%s: node %u still in state %s\n",
- 					     dlm->name, ndata->node_num,
- 					     ndata->state==DLM_RECO_NODE_DATA_RECEIVING ?
- 					     "receiving" : "requested");
-@@ -651,7 +666,7 @@
- 		}
- 		spin_unlock(&dlm_reco_state_lock);
- 
--		mlog(0, "pass #%d, all_nodes_done?: %s\n", ++pass,
-+		mlog(0, "pass #%d, all_nodes_done?: %s\n", pass,
- 		     all_nodes_done?"yes":"no");
- 		if (all_nodes_done) {
- 			int ret;
-@@ -1707,8 +1722,19 @@
- 				if (!dlm_lvb_is_empty(res->lvb) &&
- 				    (ml->type == LKM_EXMODE ||
- 				     memcmp(res->lvb, mres->lvb, DLM_LVB_LEN))) {
--					mlog(ML_ERROR, "received bad lvb!\n");
--					__dlm_print_one_lock_resource(res);
-+					int i;
-+					mlog(ML_ERROR, "%s:%.*s: received bad "
-+					     "lvb! type=%d\n", dlm->name,
-+					     res->lockname.len,
-+					     res->lockname.name, ml->type);
-+					printk("lockres lvb=[");
-+					for (i=0; i<DLM_LVB_LEN; i++)
-+						printk("%02x", res->lvb[i]);
-+					printk("]\nmigrated lvb=[");
-+					for (i=0; i<DLM_LVB_LEN; i++)
-+						printk("%02x", mres->lvb[i]);
-+					printk("]\n");
-+					dlm_print_one_lock_resource(res);
- 					BUG();
- 				}
- 				memcpy(res->lvb, mres->lvb, DLM_LVB_LEN);
-@@ -2098,6 +2124,20 @@
+@@ -2098,6 +2104,20 @@
  {
  	assert_spin_locked(&dlm->spinlock);
  
 +	if (dlm->reco.new_master == idx) {
-+		mlog(ML_NOTICE, "%s: recovery master %d just died\n",
++		mlog(0, "%s: recovery master %d just died\n",
 +		     dlm->name, idx);
 +		if (dlm->reco.state & DLM_RECO_STATE_FINALIZE) {
 +			/* finalize1 was reached, so it is safe to clear
 +			 * the new_master and dead_node.  that recovery
 +			 * is complete. */
-+			mlog(ML_NOTICE, "%s: dead master %d had reached "
++			mlog(0, "%s: dead master %d had reached "
 +			     "finalize1 state, clearing\n", dlm->name, idx);
 +			dlm->reco.state &= ~DLM_RECO_STATE_FINALIZE;
 +			__dlm_reset_recovery(dlm);
@@ -169,12 +86,12 @@
  	/* check to see if the node is already considered dead */
  	if (!test_bit(idx, dlm->live_nodes_map)) {
  		mlog(0, "for domain %s, node %d is already dead. "
-@@ -2404,6 +2444,13 @@
+@@ -2404,6 +2424,13 @@
  			 * another ENOMEM */
  			msleep(100);
  			goto retry;
 +		} else if (ret == EAGAIN) {
-+			mlog(ML_NOTICE, "%s: trying to start recovery of node "
++			mlog(0, "%s: trying to start recovery of node "
 +			     "%u, but node %u is waiting for last recovery "
 +			     "to complete, backoff for a bit\n", dlm->name,
 +			     dead_node, nodenum);
@@ -183,13 +100,13 @@
  		}
  	}
  
-@@ -2419,6 +2466,17 @@
+@@ -2419,6 +2446,17 @@
  	if (!dlm_grab(dlm))
  		return 0;
  
 +	spin_lock(&dlm->spinlock);
 +	if (dlm->reco.state & DLM_RECO_STATE_FINALIZE) {
-+		mlog(ML_NOTICE, "%s: node %u wants to recover node %u (%u:%u) "
++		mlog(0, "%s: node %u wants to recover node %u (%u:%u) "
 +		     "but this node is in finalize state, waiting on finalize2\n",
 +		     dlm->name, br->node_idx, br->dead_node,
 +		     dlm->reco.dead_node, dlm->reco.new_master);
@@ -201,7 +118,7 @@
  	mlog(ML_NOTICE, "%s: node %u wants to recover node %u (%u:%u)\n",
  	     dlm->name, br->node_idx, br->dead_node,
  	     dlm->reco.dead_node, dlm->reco.new_master);
-@@ -2472,6 +2530,7 @@
+@@ -2472,6 +2510,7 @@
  	return 0;
  }
  
@@ -209,7 +126,7 @@
  static int dlm_send_finalize_reco_message(struct dlm_ctxt *dlm)
  {
  	int ret = 0;
-@@ -2479,25 +2538,31 @@
+@@ -2479,25 +2518,31 @@
  	struct dlm_node_iter iter;
  	int nodenum;
  	int status;
@@ -217,7 +134,7 @@
  
 -	mlog(ML_NOTICE, "finishing recovery for node %s:%u\n",
 -	     dlm->name, dlm->reco.dead_node);
-+	mlog(ML_NOTICE, "finishing recovery for node %s:%u, "
++	mlog(0, "finishing recovery for node %s:%u, "
 +	     "stage %d\n", dlm->name, dlm->reco.dead_node, stage);
  
  	spin_lock(&dlm->spinlock);
@@ -244,7 +161,7 @@
  			if (dlm_is_host_down(ret)) {
  				/* this has no effect on this recovery 
  				 * session, so set the status to zero to 
-@@ -2506,12 +2571,15 @@
+@@ -2506,12 +2551,15 @@
  				     "node finished recovery.\n", nodenum);
  				ret = 0;
  			}
@@ -263,7 +180,7 @@
  
  	return ret;
  }
-@@ -2520,14 +2588,18 @@
+@@ -2520,14 +2568,18 @@
  {
  	struct dlm_ctxt *dlm = data;
  	struct dlm_finalize_reco *fr = (struct dlm_finalize_reco *)msg->buf;
@@ -279,13 +196,13 @@
 +	if (fr->flags & DLM_FINALIZE_STAGE2)
 +		stage = 2;
 +
-+	mlog(ML_NOTICE, "%s: node %u finalizing recovery stage%d of "
++	mlog(0, "%s: node %u finalizing recovery stage%d of "
 +	    "node %u (%u:%u)\n", dlm->name, fr->node_idx, stage,
 +	    fr->dead_node, dlm->reco.dead_node, dlm->reco.new_master);
  
  	spin_lock(&dlm->spinlock);
  
-@@ -2544,13 +2616,38 @@
+@@ -2544,13 +2596,38 @@
  		BUG();
  	}
  




More information about the Ocfs2-commits mailing list