[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: add shutdown reason to libxl_dominfo
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1280246258 -3600 # Node ID 9510eef2439e9d7a0202fbe223ad1a41dd074a50 # Parent 60f0ba74e18f58949be9e1c075ce2786011831f0 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> Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/libxl/libxl.c | 15 +++++---------- tools/libxl/libxl.h | 10 +++++++++- tools/libxl/xl_cmdimpl.c | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff -r 60f0ba74e18f -r 9510eef2439e tools/libxl/libxl.c --- a/tools/libxl/libxl.c Tue Jul 27 16:57:06 2010 +0100 +++ b/tools/libxl/libxl.c Tue Jul 27 16:57:38 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 60f0ba74e18f -r 9510eef2439e tools/libxl/libxl.h --- a/tools/libxl/libxl.h Tue Jul 27 16:57:06 2010 +0100 +++ b/tools/libxl/libxl.h Tue Jul 27 16:57:38 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 60f0ba74e18f -r 9510eef2439e tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Tue Jul 27 16:57:06 2010 +0100 +++ b/tools/libxl/xl_cmdimpl.c Tue Jul 27 16:57:38 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-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |