[Cluster-devel] cluster/rgmanager/src/utils clustat.c

lhh at sourceware.org lhh at sourceware.org
Tue Feb 6 20:22:46 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	STABLE
Changes by:	lhh at sourceware.org	2007-02-06 20:22:46

Modified files:
	rgmanager/src/utils: clustat.c 

Log message:
	Don't query rgmanager if the user only wants a node state; also fix 227507

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/utils/clustat.c.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.5.2.3.6.12&r2=1.5.2.3.6.13

--- cluster/rgmanager/src/utils/clustat.c	2007/01/29 19:40:38	1.5.2.3.6.12
+++ cluster/rgmanager/src/utils/clustat.c	2007/02/06 20:22:46	1.5.2.3.6.13
@@ -398,7 +398,7 @@
 
 int
 xml_rg_states(rg_state_list_t *rgl, cluster_member_list_t *members,
-	      char *svcname)
+	      char *svcname, int flags)
 {
 	int x;
 	int ret = 0;
@@ -412,6 +412,7 @@
 		if (svcname &&
 		    strcmp(rgl->rgl_states[x].rs_name, svcname))
 			continue;
+		xml_rg_state(&rgl->rgl_states[x], members, flags);
 		if (svcname) {
 			switch (rgl->rgl_states[x].rs_state) {
 			case RG_STATE_STARTING:
@@ -592,7 +593,7 @@
 	
 	if (rgs &&
 	    (!name || (name && svcname)))
-		ret2 = xml_rg_states(rgs, membership, svcname);
+		ret2 = xml_rg_states(rgs, membership, svcname, flags);
 	printf("</clustat>\n");
 	
 	if (name && ret1)
@@ -791,7 +792,8 @@
 		qs = clu_quorum_status(RG_SERVICE_GROUP);
 		membership = build_member_list(&local_node_id);
 		
-		rgs = rg_state_list(local_node_id, fast);
+		if (!member_name)
+			rgs = rg_state_list(local_node_id, fast);
 
 		if (refresh_sec) {
 			setupterm((char *) 0, STDOUT_FILENO, (int *) 0);




More information about the Cluster-devel mailing list