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 2 of 9] libxl: add shutdown reason to libxl_dominfo

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 2 of 9] libxl: add shutdown reason to libxl_dominfo
From: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date: Tue, 27 Jul 2010 11:13:44 +0100
Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
Delivery-date: Tue, 27 Jul 2010 03:16:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <patchbomb.1280225622@xxxxxxxxxxxxxxxxxxxxx>
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
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1280225493 -3600
# Node ID 74371f414f2012adebba8a8617ddef957f5e3ae0
# Parent  7a0c37f2a9b51ac012a32bcf6ab222580e7cac94
libxl: add shutdown reason to libxl_dominfo

Removes the need for explicit libxl_dominfo.crashed so remove it.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

diff -r 7a0c37f2a9b5 -r 74371f414f20 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c       Mon Jul 26 11:36:02 2010 +0100
+++ b/tools/libxl/libxl.c       Tue Jul 27 11:11:33 2010 +0100
@@ -405,8 +405,6 @@ static void xcinfo2xlinfo(const xc_domai
 static void xcinfo2xlinfo(const xc_domaininfo_t *xcinfo,
                           struct libxl_dominfo *xlinfo)
 {
-    unsigned int shutdown_reason;
-
     memcpy(&(xlinfo->uuid), xcinfo->handle, sizeof(xen_domain_handle_t));
     xlinfo->domid = xcinfo->domain;
 
@@ -415,14 +413,11 @@ static void xcinfo2xlinfo(const xc_domai
     xlinfo->paused   = !!(xcinfo->flags&XEN_DOMINF_paused);
     xlinfo->blocked  = !!(xcinfo->flags&XEN_DOMINF_blocked);
     xlinfo->running  = !!(xcinfo->flags&XEN_DOMINF_running);
-    xlinfo->crashed  = 0;
 
-    shutdown_reason = (xcinfo->flags>>XEN_DOMINF_shutdownshift) & 
XEN_DOMINF_shutdownmask;
-
-    if ( xlinfo->shutdown && (shutdown_reason == SHUTDOWN_crash) ) {
-        xlinfo->shutdown = 0;
-        xlinfo->crashed  = 1;
-    }
+    if (xlinfo->shutdown || xlinfo->dying)
+        xlinfo->shutdown_reason = (xcinfo->flags>>XEN_DOMINF_shutdownshift) & 
XEN_DOMINF_shutdownmask;
+    else
+        xlinfo->shutdown_reason  = ~0;
 
     xlinfo->max_memkb = PAGE_TO_MEMKB(xcinfo->tot_pages);
     xlinfo->cpu_time = xcinfo->cpu_time;
diff -r 7a0c37f2a9b5 -r 74371f414f20 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h       Mon Jul 26 11:36:02 2010 +0100
+++ b/tools/libxl/libxl.h       Tue Jul 27 11:11:33 2010 +0100
@@ -29,8 +29,16 @@ struct libxl_dominfo {
     uint8_t blocked:1;
     uint8_t paused:1;
     uint8_t shutdown:1;
-    uint8_t crashed:1;
     uint8_t dying:1;
+
+    /*
+     * Valid SHUTDOWN_* value from xen/sched.h iff (shutdown||dying).
+     *
+     * Otherwise set to a value guaranteed not to clash with any valid
+     * SHUTDOWN_* constant.
+     */
+    unsigned int shutdown_reason;
+
     uint64_t max_memkb;
     uint64_t cpu_time;
     uint32_t vcpu_max_id;
diff -r 7a0c37f2a9b5 -r 74371f414f20 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Mon Jul 26 11:36:02 2010 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Tue Jul 27 11:11:33 2010 +0100
@@ -1935,7 +1935,7 @@ void list_domains(int verbose)
                 info[i].blocked ? 'b' : '-',
                 info[i].paused ? 'p' : '-',
                 info[i].shutdown ? 's' : '-',
-                info[i].crashed ? 'c' : '-',
+                info[i].shutdown_reason == SHUTDOWN_crash ? 'c' : '-',
                 info[i].dying ? 'd' : '-',
                 ((float)info[i].cpu_time / 1e9));
         if (verbose) {

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

<Prev in Thread] Current Thread [Next in Thread>