[Cluster-devel] cluster/rgmanager ChangeLog src/clulib/members ...

lhh at sourceware.org lhh at sourceware.org
Wed Aug 9 21:48:35 UTC 2006


CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	lhh at sourceware.org	2006-08-09 21:48:34

Modified files:
	rgmanager      : ChangeLog 
	rgmanager/src/clulib: members.c 
	rgmanager/src/daemons: main.c 
	rgmanager/src/utils: clusvcadm.c 

Log message:
	Fix relocation & transition handling

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/ChangeLog.diff?cvsroot=cluster&r1=1.18&r2=1.19
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/clulib/members.c.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/main.c.diff?cvsroot=cluster&r1=1.27&r2=1.28
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/utils/clusvcadm.c.diff?cvsroot=cluster&r1=1.10&r2=1.11

--- cluster/rgmanager/ChangeLog	2006/08/07 22:05:01	1.18
+++ cluster/rgmanager/ChangeLog	2006/08/09 21:48:34	1.19
@@ -1,3 +1,12 @@
+2006-08-08 Lon Hohberger <lhh at redhat.com>
+	* src/clulib/members.c: Fix gained/lost list creation so that the
+	count is actually nonzero (#201713)
+	* src/daemons/main.c: Fix typo in debug information.  Kill CMAN handle
+	before doing a member list update.  Don't call memb_online; just
+	check the cn_member field (optimization).  Don't process node event
+	until the node actually closes port (#201713).
+	* src/utils/clusvcadm.c: Fix relocation issues (#201711).
+
 2006-08-07 Lon Hohberger <lhh at redhat.com>
 	* src/clulib/ckpt_state.c: Preliminary implementation of replacement
 	for VF using AIS CKPT B.02.01 (w/ built-in test program)
--- cluster/rgmanager/src/clulib/members.c	2006/07/11 23:52:41	1.2
+++ cluster/rgmanager/src/clulib/members.c	2006/08/09 21:48:34	1.3
@@ -139,7 +139,7 @@
 
 		if (in_old)
 			continue;
-		memcpy(&gained->cml_members[gained->cml_count],
+		memcpy(&gained->cml_members[gained->cml_count++],
 		       &new->cml_members[x], sizeof(cman_node_t));
 	}
 
--- cluster/rgmanager/src/daemons/main.c	2006/08/07 22:05:01	1.27
+++ cluster/rgmanager/src/daemons/main.c	2006/08/09 21:48:34	1.28
@@ -162,15 +162,15 @@
 			}
 
 			if (quorate > 0) {
-				printf("Node %d IS listenin\n", new_ml->cml_members[x].cn_nodeid);
+				printf("Node %d IS listening\n",
+				       new_ml->cml_members[x].cn_nodeid);
 			}
 
 		} while(0);
 	}
 
-	member_list_update(new_ml);
 	cman_finish(h);
-
+	member_list_update(new_ml);
 
 	/*
 	 * Handle nodes lost.  Do our local node event first.
@@ -217,8 +217,7 @@
 
 	for (x=0; node_delta && x < node_delta->cml_count; x++) {
 
-		if (!memb_online(node_delta,
-				 node_delta->cml_members[x].cn_nodeid))
+		if (!node_delta->cml_members[x].cn_member)
 			continue;
 
 		if (node_delta->cml_members[x].cn_nodeid == my_id())
@@ -484,9 +483,7 @@
 		break;
 
 	case RG_EXITING:
-
-		clulog(LOG_NOTICE, "Member %d is now offline\n", (int)nodeid);
-		node_event(0, nodeid, 0);
+		clulog(LOG_NOTICE, "Member %d is going offline\n", (int)nodeid);
 		break;
 
 	case VF_MESSAGE:
--- cluster/rgmanager/src/utils/clusvcadm.c	2006/07/19 18:43:32	1.10
+++ cluster/rgmanager/src/utils/clusvcadm.c	2006/08/09 21:48:34	1.11
@@ -38,7 +38,7 @@
 
 
 void
-build_message(SmMessageSt *msgp, int action, char *svcName, uint64_t target)
+build_message(SmMessageSt *msgp, int action, char *svcName, int target)
 {
 	msgp->sm_hdr.gh_magic = GENERIC_HDR_MAGIC;
 	msgp->sm_hdr.gh_command = RG_ACTION_REQUEST;
@@ -292,7 +292,7 @@
 			return 1;
 		}
 	} else {
-		svctarget = me;
+		svctarget = 0;
 		/*
 		clu_local_nodename(RG_SERVICE_GROUP, nodename,
 				   sizeof(nodename));




More information about the Cluster-devel mailing list