[Ocfs2-commits] jlbec commits r2394 - trunk/fs/ocfs2/dlm
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Tue Jun 14 17:29:50 CDT 2005
Author: jlbec
Signed-off-by: mfasheh
Date: 2005-06-14 17:29:48 -0500 (Tue, 14 Jun 2005)
New Revision: 2394
Modified:
trunk/fs/ocfs2/dlm/dlmdomain.c
Log:
o Clear state when waiting for domain join, allowing other nodes to
proceed.
o Fix for recovery on failed mount.
o Make domain join backoff variable.
Signed-off-by: mfasheh
Modified: trunk/fs/ocfs2/dlm/dlmdomain.c
===================================================================
--- trunk/fs/ocfs2/dlm/dlmdomain.c 2005-06-14 21:48:01 UTC (rev 2393)
+++ trunk/fs/ocfs2/dlm/dlmdomain.c 2005-06-14 22:29:48 UTC (rev 2394)
@@ -906,12 +906,13 @@
dlm_send_join_asserts(dlm, ctxt->yes_resp_map);
+bail:
spin_lock(&dlm->spinlock);
__dlm_set_joining_node(dlm, DLM_LOCK_RES_OWNER_UNKNOWN);
- __dlm_print_nodes(dlm);
+ if (!status)
+ __dlm_print_nodes(dlm);
spin_unlock(&dlm->spinlock);
-bail:
if (ctxt) {
/* Do we need to send a cancel message to any nodes? */
if (status < 0) {
@@ -1079,6 +1080,7 @@
}
do {
+ unsigned int backoff;
status = dlm_try_to_join_domain(dlm);
/* If we're racing another node to the join, then we
@@ -1090,7 +1092,17 @@
goto bail;
}
- msleep(DLM_DOMAIN_BACKOFF_MS);
+ /*
+ * <chip> After you!
+ * <dale> No, after you!
+ * <chip> I insist!
+ * <dale> But you first!
+ * ...
+ */
+ backoff = (unsigned int)(jiffies & 0x3);
+ backoff *= DLM_DOMAIN_BACKOFF_MS;
+ mlog(0, "backoff %d\n", backoff);
+ msleep(backoff);
}
} while (status == -EAGAIN);
More information about the Ocfs2-commits
mailing list