From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabio M. Di Nitto Date: Wed, 12 Jan 2011 18:06:59 +0100 Subject: [Cluster-devel] [PATCH] rgmanager: Present flags in clustat output In-Reply-To: <1294850669-10189-1-git-send-email-lhh@redhat.com> References: <1294850669-10189-1-git-send-email-lhh@redhat.com> Message-ID: <4D2DDFB3.803@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit ACK?ed Fabio On 1/12/2011 5:44 PM, Lon Hohberger wrote: > This is a clean cherry-pick in to the RHEL6 branch > > Resolves: rhbz#634298 > > Signed-off-by: Lon Hohberger > --- > rgmanager/src/utils/clustat.c | 31 +++++++++++++++++++++++++++++-- > 1 files changed, 29 insertions(+), 2 deletions(-) > > diff --git a/rgmanager/src/utils/clustat.c b/rgmanager/src/utils/clustat.c > index f56d3f5..b3a2b4f 100644 > --- a/rgmanager/src/utils/clustat.c > +++ b/rgmanager/src/utils/clustat.c > @@ -454,6 +454,7 @@ _txt_rg_state(rg_state_t *rs, cluster_member_list_t *members, int flags, > int svcsize, int nodesize, int statsize) > { > char owner[MAXHOSTNAMELEN+1]; > + char state_string[255] = ""; > char *name = rs->rs_name, *ptr; > int l; > > @@ -481,11 +482,22 @@ _txt_rg_state(rg_state_t *rs, cluster_member_list_t *members, int flags, > snprintf(owner, sizeof(owner)-1, "%-.*s", nodesize, > my_memb_id_to_name(members, rs->rs_owner)); > } > + > + /* Show a frozen service */ > + if (rs->rs_flags & RG_FLAG_FROZEN) { > + snprintf(state_string, sizeof(state_string), > + "%-*.*s[Z]", statsize-3, statsize-3, > + rg_state_str(rs->rs_state)); > + } else { > + snprintf(state_string, sizeof(state_string), > + "%-*.*s", statsize, statsize, > + rg_state_str(rs->rs_state)); > + } > > printf(" %-*.*s %-*.*s %-*.*s\n", > svcsize, svcsize, rs->rs_name, > nodesize, nodesize, owner, > - statsize, statsize, rg_state_str(rs->rs_state)); > + statsize, statsize, state_string); > } > > > @@ -493,10 +505,20 @@ static void > _txt_rg_state_v(rg_state_t *rs, cluster_member_list_t *members, int flags) > { > time_t t; > + char flags_string[255] = ""; > + > + rg_flags_str(flags_string, sizeof(flags_string), rs->rs_flags, > + (char *)", "); > > printf("Service Name : %s\n", rs->rs_name); > printf(" Current State : %s (%d)\n", > rg_state_str(rs->rs_state), rs->rs_state); > + if (rs->rs_flags) > + printf(" Flags : %s (%d)\n", > + flags_string, rs->rs_flags); > + else > + printf(" Flags : none (%d)\n", > + rs->rs_flags); > printf(" Owner : %s\n", > my_memb_id_to_name(members, rs->rs_owner)); > printf(" Last Owner : %s\n", > @@ -522,6 +544,7 @@ static void > xml_rg_state(rg_state_t *rs, cluster_member_list_t *members, int flags) > { > char time_str[32]; > + char flags_string[255] = ""; > int x; > time_t t; > > @@ -535,12 +558,16 @@ xml_rg_state(rg_state_t *rs, cluster_member_list_t *members, int flags) > } > } > > - printf(" + printf(" + " flags=\"%d\" flags_str=\"%s\"" > " owner=\"%s\" last_owner=\"%s\" restarts=\"%d\"" > " last_transition=\"%llu\" last_transition_str=\"%s\"/>\n", > rs->rs_name, > rs->rs_state, > rg_state_str(rs->rs_state), > + rs->rs_flags, > + rg_flags_str(flags_string, sizeof(flags_string), > + rs->rs_flags, (char *)" "), > my_memb_id_to_name(members, rs->rs_owner), > my_memb_id_to_name(members, rs->rs_last_owner), > rs->rs_restarts,