From mboxrd@z Thu Jan 1 00:00:00 1970 From: lhh@sourceware.org Date: 12 Oct 2006 22:07:58 -0000 Subject: [Cluster-devel] cluster/rgmanager/src/utils clustat.c Message-ID: <20061012220758.20884.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: cluster Changes by: lhh at sourceware.org 2006-10-12 22:07:57 Modified files: rgmanager/src/utils: clustat.c Log message: Ancillary patch to fix 202492 and actually add back groupmember attr, not just rgmanager (per-node) attr Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/utils/clustat.c.diff?cvsroot=cluster&r1=1.24&r2=1.25 --- cluster/rgmanager/src/utils/clustat.c 2006/10/06 21:22:28 1.24 +++ cluster/rgmanager/src/utils/clustat.c 2006/10/12 22:07:57 1.25 @@ -549,13 +549,20 @@ void xml_quorum_state(int qs) { + /* XXX output groupmember attr (carry over from RHCS4) */ printf(" "); + if (qs & FLAG_UP) { + printf("quorate=\"1\""); + } else { + printf("quorate=\"0\"\n"); + } + if (qs & FLAG_RGMGR) { + printf(" groupmember=\"1\""); } else { - printf("quorate=\"0\"/>\n"); + printf(" groupmember=\"0\""); } + printf("/>\n"); } @@ -661,9 +668,25 @@ rg_state_list_t *rgs, char *name, char *svcname, int flags) { + int x; + printf("\n"); printf("\n"); + if (qs) { + qs = FLAG_UP; + if (membership) { + for (x = 0; x < membership->cml_count; x++) { + if ((membership->cml_members[x].cn_member & + (FLAG_LOCAL|FLAG_RGMGR)) == + (FLAG_LOCAL|FLAG_RGMGR)) { + qs |= FLAG_RGMGR; + break; + } + } + } + } + if (!svcname && !name) xml_quorum_state(qs); if (!svcname || (name && svcname)) @@ -722,6 +745,11 @@ all = part; } + if (!all) { + *lid = 0; + return NULL; + } + /* Grab the local node ID and flag it from the list of reported online nodes */ *lid = get_my_nodeid(ch); @@ -844,6 +872,10 @@ /* Connect & grab all our info */ ch = cman_init(NULL); + if (!ch) { + printf("CMAN is not running.\n"); + return 1; + } switch(runtype) { case QSTAT_ONLY: