Re: [PATCH 5/5] quorumtool: improve Membership information output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ACK

Reviewed-By: Christine Caulfield <ccaulfie@xxxxxxxxxx>

On 28/02/12 10:28, Fabio M. Di Nitto wrote:
From: "Fabio M. Di Nitto"<fdinitto@xxxxxxxxxx>

align nodeid, votes and name to make it all more readable

Signed-off-by: Fabio M. Di Nitto<fdinitto@xxxxxxxxxx>
---
  tools/corosync-quorumtool.c |   43 ++++++++++++++++++++++++++++++++-----------
  1 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/tools/corosync-quorumtool.c b/tools/corosync-quorumtool.c
index 8d88131..c391d81 100644
--- a/tools/corosync-quorumtool.c
+++ b/tools/corosync-quorumtool.c
@@ -291,6 +291,27 @@ static void quorum_notification_fn(
  	}
  }

+static void print_string_padded(const char *buf)
+{
+	int len, delta;
+
+	len = strlen(buf);
+	delta = 10 - len;
+	while (delta>  0) {
+		printf(" ");
+		delta--;
+	}
+	printf("%s ", buf);
+}
+
+static void print_uint32_padded(uint32_t value)
+{
+	char buf[12];
+
+	snprintf(buf, sizeof(buf) - 1, "%u", value);
+	print_string_padded(buf);
+}
+
  static void display_nodes_data(uint32_t nodeid, nodeid_format_t nodeid_format, name_format_t name_format)
  {
  	int i;
@@ -298,23 +319,22 @@ static void display_nodes_data(uint32_t nodeid, nodeid_format_t nodeid_format, n
  	printf("\nMembership information\n");
  	printf("----------------------\n");

+	print_string_padded("Nodeid");
  	if (v_handle) {
-		printf("Nodeid     Votes  Name\n");
-	} else {
-		printf("Nodeid     Name\n");
+		print_string_padded("Votes");
  	}
+	printf("Name\n");

  	for (i=0; i<  g_view_list_entries; i++) {
  		if (nodeid_format == NODEID_FORMAT_DECIMAL) {
-			printf("%4u   ", g_view_list[i]);
+			print_uint32_padded(g_view_list[i]);
  		} else {
-			printf("0x%04x   ", g_view_list[i]);
+			printf("0x%08x ", g_view_list[i]);
  		}
  		if (v_handle) {
-			printf("%3d  %s\n",  get_votes(g_view_list[i]), node_name(g_view_list[i], name_format));
-		} else {
-			printf("%s\n", node_name(g_view_list[i], name_format));
+			print_uint32_padded(get_votes(g_view_list[i]));
  		}
+		printf("%s\n", node_name(g_view_list[i], name_format));
  	}

  	if (g_view_list_entries) {
@@ -332,11 +352,12 @@ static void display_nodes_data(uint32_t nodeid, nodeid_format_t nodeid_format, n
  			fprintf(stderr, "Unable to get quorum device info: %s\n", cs_strerror(err));
  		} else {
  			if (nodeid_format == NODEID_FORMAT_DECIMAL) {
-				printf("%4u   ", VOTEQUORUM_NODEID_QDEVICE);
+				print_uint32_padded(VOTEQUORUM_NODEID_QDEVICE);
  			} else {
-				printf("0x%04x   ", VOTEQUORUM_NODEID_QDEVICE);
+				printf("0x%08x ", VOTEQUORUM_NODEID_QDEVICE);
  			}
-			printf("%3d  %s (%s)\n", qinfo.votes, qinfo.name, qinfo.state?"Voting":"Not voting");
+			print_uint32_padded(qinfo.votes);
+			printf("%s (%s)\n", qinfo.name, qinfo.state?"Voting":"Not voting");
  		}
  	}
  #endif

_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss


[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux