WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] tools/xl: show shutdown reason code, improve xl list

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] tools/xl: show shutdown reason code, improve xl list heading
From: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Date: Mon, 22 Nov 2010 12:47:40 +0000
Delivery-date: Mon, 22 Nov 2010 04:48:31 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Previously, xl list would not reveal the shutdown reason code unless
it was SHUTDOWN_crashed.  This is unfortunate; it makes it hard for
scripts which use xl to tell what's going on.

In this patch:

 * xl list shows the reason code as a single letter if it is
   any of the defined values from sched.h:
       -   poweroff or domain not shut down
       r   reboot
       s   suspend
       c   crashed
       w   watchdog
   This is not 100% backward-compatible with xm but I think it's a
   justifiable improvement.  It would be nice to make the same change
   to xm.

 * xl list -v shows the full numeric reason code in hex, or "-" if the
   domain is not shut down.

 * xl list -v has column headings for the UUID and numeric reason
   code.  The heading for the reason code overlaps with the UUID a bit.
   These headings are intended for human readers; scripts can parse
   the output by breaking on whitespace.

Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>

diff -r 899131a8f9d2 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Mon Nov 22 08:29:03 2010 +0000
+++ b/tools/libxl/xl_cmdimpl.c  Mon Nov 22 12:41:35 2010 +0000
@@ -2477,11 +2477,16 @@ static void list_domains(int verbose, co
 static void list_domains(int verbose, const libxl_dominfo *info, int nb_domain)
 {
     int i;
-
-    printf("Name                                        ID   Mem 
VCPUs\tState\tTime(s)\n");
+    static const char shutdown_reason_letters[]= "-rscw";
+
+    printf("Name                                        ID   Mem 
VCPUs\tState\tTime(s)");
+    if (verbose) printf("   UUID                            Reason-Code");
+    printf("\n");
     for (i = 0; i < nb_domain; i++) {
         char *domname;
+        unsigned shutdown_reason;
         domname = libxl_domid_to_name(&ctx, info[i].domid);
+        shutdown_reason = info[i].shutdown ? info[i].shutdown_reason : 0;
         printf("%-40s %5d %5lu %5d     %c%c%c%c%c%c  %8.1f",
                 domname,
                 info[i].domid,
@@ -2491,12 +2496,17 @@ static void list_domains(int verbose, co
                 info[i].blocked ? 'b' : '-',
                 info[i].paused ? 'p' : '-',
                 info[i].shutdown ? 's' : '-',
-                info[i].shutdown_reason == SHUTDOWN_crash ? 'c' : '-',
+                (shutdown_reason >= 0 &&
+                 shutdown_reason < sizeof(shutdown_reason_letters)-1
+                 ? shutdown_reason_letters[shutdown_reason] : '?'),
                 info[i].dying ? 'd' : '-',
                 ((float)info[i].cpu_time / 1e9));
         free(domname);
-        if (verbose)
+        if (verbose) {
             printf(" " LIBXL_UUID_FMT, LIBXL_UUID_BYTES(info[i].uuid));
+           if (info[i].shutdown) printf(" %8x", shutdown_reason);
+           else printf(" %8s", "-");
+       }
         putchar('\n');
     }
 }

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] tools/xl: show shutdown reason code, improve xl list heading, Ian Jackson <=