svn commit: r252776 - in stable/9: . sbin/hastctl
Dmitry Morozovsky
marck at FreeBSD.org
Fri Jul 5 08:16:41 UTC 2013
Author: marck (doc committer)
Date: Fri Jul 5 08:16:40 2013
New Revision: 252776
URL: http://svnweb.freebsd.org/changeset/base/252776
Log:
Finish MFC of r248291,249741:
Change 'status' command to produce one-line easy-parseable output.
Approved by: trociny
Modified:
stable/9/UPDATING
stable/9/sbin/hastctl/hastctl.8
stable/9/sbin/hastctl/hastctl.c
Directory Properties:
stable/9/sbin/hastctl/ (props changed)
Modified: stable/9/UPDATING
==============================================================================
--- stable/9/UPDATING Fri Jul 5 06:52:07 2013 (r252775)
+++ stable/9/UPDATING Fri Jul 5 08:16:40 2013 (r252776)
@@ -11,6 +11,10 @@ handbook:
Items affecting the ports and packages system can be found in
/usr/ports/UPDATING. Please read that file before running portupgrade.
+20130705:
+ hastctl(8)'s `status' command output changed to terse one-liner format.
+ Scripts using this should switch to `list' command or be rewritten.
+
20130618:
Fix a bug that allowed a tracing process (e.g. gdb) to write
to a memory-mapped file in the traced process's address space
Modified: stable/9/sbin/hastctl/hastctl.8
==============================================================================
--- stable/9/sbin/hastctl/hastctl.8 Fri Jul 5 06:52:07 2013 (r252775)
+++ stable/9/sbin/hastctl/hastctl.8 Fri Jul 5 08:16:40 2013 (r252776)
@@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 24, 2013
+.Dd July 5, 2013
.Dt HASTCTL 8
.Os
.Sh NAME
@@ -145,18 +145,10 @@ GEOM provider
will not be created on secondary node.
.El
.It Cm list
-.It Cm status
Present verbose status of the configured resources.
-For now, list and status commands are equivalent.
-In the near future the output of
-.Nm
-status command will change to more terse format.
-If you use `
-.Nm
-status' for parsing in your scripts, switch to `
-.Nm
-list'.
-
+.It Cm status
+Present terse (and more easy machine-parseable) status of the configured
+resources.
.It Cm dump
Dump metadata stored on local component for the configured resources.
.El
Modified: stable/9/sbin/hastctl/hastctl.c
==============================================================================
--- stable/9/sbin/hastctl/hastctl.c Fri Jul 5 06:52:07 2013 (r252775)
+++ stable/9/sbin/hastctl/hastctl.c Fri Jul 5 08:16:40 2013 (r252776)
@@ -291,7 +291,7 @@ control_set_role(struct nv *nv, const ch
}
static int
-control_status(struct nv *nv)
+control_list(struct nv *nv)
{
unsigned int ii;
const char *str;
@@ -355,6 +355,43 @@ control_status(struct nv *nv)
return (ret);
}
+static int
+control_status(struct nv *nv)
+{
+ unsigned int ii;
+ const char *str;
+ int error, hprinted, ret;
+
+ hprinted = 0;
+ ret = 0;
+
+ for (ii = 0; ; ii++) {
+ str = nv_get_string(nv, "resource%u", ii);
+ if (str == NULL)
+ break;
+ if (!hprinted) {
+ printf("Name\tStatus\t Role\t\tComponents\n");
+ hprinted = 1;
+ }
+ printf("%s\t", str);
+ error = nv_get_int16(nv, "error%u", ii);
+ if (error != 0) {
+ if (ret == 0)
+ ret = error;
+ printf("ERR%d\n", error);
+ continue;
+ }
+ str = nv_get_string(nv, "status%u", ii);
+ printf("%-9s", (str != NULL) ? str : "-");
+ printf("%-15s", nv_get_string(nv, "role%u", ii));
+ printf("%s\t",
+ nv_get_string(nv, "localpath%u", ii));
+ printf("%s\n",
+ nv_get_string(nv, "remoteaddr%u", ii));
+ }
+ return (ret);
+}
+
int
main(int argc, char *argv[])
{
@@ -523,6 +560,8 @@ main(int argc, char *argv[])
error = control_set_role(nv, argv[0]);
break;
case CMD_LIST:
+ error = control_list(nv);
+ break;
case CMD_STATUS:
error = control_status(nv);
break;
More information about the svn-src-stable-9
mailing list