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

[Xen-changelog] [xen-unstable] xen-hptool: A few usage cleanups.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1274275136 -3600
# Node ID 287a7069503d25a6d30983d690253fd5a88a20be
# Parent  bc2364ad816d1979b21a869316abdaa6e6dfc033
xen-hptool: A few usage cleanups.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 tools/misc/xen-hptool.c |   53 +++++++++++++++++++++++++-----------------------
 1 files changed, 28 insertions(+), 25 deletions(-)

diff -r bc2364ad816d -r 287a7069503d tools/misc/xen-hptool.c
--- a/tools/misc/xen-hptool.c   Wed May 19 14:06:37 2010 +0100
+++ b/tools/misc/xen-hptool.c   Wed May 19 14:18:56 2010 +0100
@@ -1,23 +1,24 @@
 #include <xenctrl.h>
 #include <xc_private.h>
 #include <xc_core.h>
+#include <errno.h>
 
 #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0]))
 
 static int xc_fd;
 
-/* help message */
 void show_help(void)
 {
     fprintf(stderr,
-            "\nxen cpu memory hotplug tool\n\n"
-            "usage: xen-hptool <command> [args]\n\n"
-            "xen-hptool command list:\n\n"
-            "cpu-online    <cpuid>    online CPU <cpuid>\n"
-            "cpu-offline   <cpuid>    offline CPU <cpuid>\n"
-            "mem-online    <mfn>      online MEMORY <mfn>\n"
-            "mem-offline   <mfn>      offline MEMORY <mfn>\n"
-            "mem-status    <mfn>      query Memory status<mfn>\n"
+            "xen-hptool: Xen CPU/memory hotplug tool\n"
+            "Usage: xen-hptool <command> [args]\n"
+            "Commands:\n"
+            "  help                     display this help\n"
+            "  cpu-online    <cpuid>    online CPU <cpuid>\n"
+            "  cpu-offline   <cpuid>    offline CPU <cpuid>\n"
+            "  mem-online    <mfn>      online MEMORY <mfn>\n"
+            "  mem-offline   <mfn>      offline MEMORY <mfn>\n"
+            "  mem-status    <mfn>      query Memory status<mfn>\n"
            );
 }
 
@@ -244,7 +245,7 @@ static int hp_cpu_online_func(int argc, 
 {
     int cpu, ret;
 
-    if (argc != 1)
+    if ( argc != 1 )
     {
         show_help();
         return -1;
@@ -254,7 +255,8 @@ static int hp_cpu_online_func(int argc, 
     printf("Prepare to online CPU %d\n", cpu);
     ret = xc_cpu_online(xc_fd, cpu);
     if (ret < 0)
-        fprintf(stderr, "CPU %d onlined failed\n", cpu);
+        fprintf(stderr, "CPU %d online failed (error %d: %s)\n",
+                cpu, errno, strerror(errno));
     else
         printf("CPU %d onlined successfully\n", cpu);
 
@@ -265,7 +267,7 @@ static int hp_cpu_offline_func(int argc,
 {
     int cpu, ret;
 
-    if (argc !=1)
+    if (argc != 1 )
     {
         show_help();
         return -1;
@@ -274,7 +276,8 @@ static int hp_cpu_offline_func(int argc,
     printf("Prepare to offline CPU %d\n", cpu);
     ret = xc_cpu_offline(xc_fd, cpu);
     if (ret < 0)
-        fprintf(stderr, "CPU %d offlined failed\n", cpu);
+        fprintf(stderr, "CPU %d offline failed (error %d: %s)\n",
+                cpu, errno, strerror(errno));
     else
         printf("CPU %d offlined successfully\n", cpu);
 
@@ -297,6 +300,7 @@ int main(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
     int i, ret;
+
     if (argc < 2)
     {
         show_help();
@@ -310,20 +314,19 @@ int main(int argc, char *argv[])
         return 0;
     }
 
-    for (i = 0; i < ARRAY_SIZE(main_options); i++)
-    {
+    for ( i = 0; i < ARRAY_SIZE(main_options); i++ )
         if (!strncmp(main_options[i].name, argv[1], strlen(argv[1])))
-        {
-            ret = main_options[i].function(argc -2, argv + 2);
             break;
-        }
-    }
-    if (i >= ARRAY_SIZE(main_options))
-        show_help();
-    else if (ret < 0)
-        fprintf(stderr, "Required Ops failed\n");
+    if ( i == ARRAY_SIZE(main_options) )
+    {
+        fprintf(stderr, "Unrecognised command '%s' -- try "
+                "'xen-hptool help'\n", argv[1]);
+        return 1;
+    }
+
+    ret = main_options[i].function(argc -2, argv + 2);
 
     xc_interface_close(xc_fd);
 
-    return 0;
-}
+    return !!ret;
+}

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.