[Ocfs2-commits] khackel commits r1697 - trunk/cluster
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Tue Dec 7 20:17:43 CST 2004
Author: khackel
Date: 2004-12-07 20:17:42 -0600 (Tue, 07 Dec 2004)
New Revision: 1697
Modified:
trunk/cluster/dlmmod.c
trunk/cluster/dlmrecovery.c
trunk/cluster/heartbeat.c
Log:
fixed a bug in heartbeat callbacks. this should at least get you to a point where an ls will not hang in kernel on one of the nodes. well, it will still hang. but it will be killable at least! ;-)
Modified: trunk/cluster/dlmmod.c
===================================================================
--- trunk/cluster/dlmmod.c 2004-12-08 01:34:04 UTC (rev 1696)
+++ trunk/cluster/dlmmod.c 2004-12-08 02:17:42 UTC (rev 1697)
@@ -1116,6 +1116,9 @@
tmpret = hb_fill_node_map(group, dlm->node_map, NM_MAX_NODES);
if (tmpret)
goto error;
+ dlmprintk("hb_fill_node_map returned node map: %08x%08x%08x%08x%08x%08x%08x%08x\n",
+ dlm->node_map[0], dlm->node_map[1], dlm->node_map[2], dlm->node_map[3],
+ dlm->node_map[4], dlm->node_map[5], dlm->node_map[6], dlm->node_map[7]);
#if 0
Modified: trunk/cluster/dlmrecovery.c
===================================================================
--- trunk/cluster/dlmrecovery.c 2004-12-08 01:34:04 UTC (rev 1696)
+++ trunk/cluster/dlmrecovery.c 2004-12-08 02:17:42 UTC (rev 1697)
@@ -607,8 +607,10 @@
if (!test_bit(idx, dlm->node_map))
printk("node %u already removed from nodemap!\n", idx);
- else
+ else {
+ printk("node %u being removed from nodemap!\n", idx);
clear_bit(idx, dlm->node_map);
+ }
if (test_bit(idx, dlm->recovery_map))
printk("node %u already added to recovery map!\n", idx);
@@ -632,8 +634,10 @@
} else {
if (test_bit(idx, dlm->node_map))
printk("node %u already in node map!!!\n", idx);
- else
+ else {
+ dlmprintk("node %u being added to node map!!!\n", idx);
set_bit(idx, dlm->node_map);
+ }
}
spin_unlock(&dlm->spinlock);
Modified: trunk/cluster/heartbeat.c
===================================================================
--- trunk/cluster/heartbeat.c 2004-12-08 01:34:04 UTC (rev 1696)
+++ trunk/cluster/heartbeat.c 2004-12-08 02:17:42 UTC (rev 1697)
@@ -135,14 +135,14 @@
printk("hb_do_node_down: group=%lu, node=%lu\n", group->i_ino, node->i_ino);
printk("NOT removing node from group\n");
//ret = nm_remove_node_from_group(group, node);
- hb_do_callbacks(HB_NODE_DOWN_CB, group, node, 0);
+ hb_do_callbacks(HB_NODE_DOWN_CB, group, node, idx);
return 0;
}
static int hb_do_node_up(struct inode *group, struct inode *node, int idx)
{
printk("hb_do_node_up: group=%lu, node=%lu\n", group->i_ino, node->i_ino);
- hb_do_callbacks(HB_NODE_UP_CB, group, node, 0);
+ hb_do_callbacks(HB_NODE_UP_CB, group, node, idx);
return 0;
}
@@ -259,7 +259,7 @@
node->i_atime = hb_block->time;
slot->last_time = hb_block->time;
slot->margin = HB_DISK_MARGIN;
- hb_do_callbacks(HB_NODE_RESPONDED_CB, group, node, HB_TYPE_DISK);
+ hb_do_callbacks(HB_NODE_RESPONDED_CB, group, node, idx);
} else {
slot->margin--;
printk("node %d missed. margin=%d\n", ino, slot->margin);
More information about the Ocfs2-commits
mailing list