[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