From: Juergen Gross Date: Mon, 18 Jan 2016 08:03:52 +0000 (+0100) Subject: libxl: provide a flag in dominfo to avoid stopping it X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=15a66f1119938c92752589c79eff9ded2c95128a;p=people%2Fliuw%2Flibxenctrl-split%2Fxen.git libxl: provide a flag in dominfo to avoid stopping it Add a "never_stop" flag to dominfo as indicator for the toolstack that this domain is to be kept running. For now it is being set for xenstore domain, but there might be other domains in the future. Signed-off-by: Juergen Gross Acked-by: Ian Campbell --- diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index abb2845900..a8718b0d10 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -623,11 +623,12 @@ static void xcinfo2xlinfo(libxl_ctx *ctx, &xlinfo->ssid_label, &size) < 0) xlinfo->ssid_label = NULL; - xlinfo->dying = !!(xcinfo->flags&XEN_DOMINF_dying); - xlinfo->shutdown = !!(xcinfo->flags&XEN_DOMINF_shutdown); - xlinfo->paused = !!(xcinfo->flags&XEN_DOMINF_paused); - xlinfo->blocked = !!(xcinfo->flags&XEN_DOMINF_blocked); - xlinfo->running = !!(xcinfo->flags&XEN_DOMINF_running); + xlinfo->dying = !!(xcinfo->flags&XEN_DOMINF_dying); + xlinfo->shutdown = !!(xcinfo->flags&XEN_DOMINF_shutdown); + xlinfo->paused = !!(xcinfo->flags&XEN_DOMINF_paused); + xlinfo->blocked = !!(xcinfo->flags&XEN_DOMINF_blocked); + xlinfo->running = !!(xcinfo->flags&XEN_DOMINF_running); + xlinfo->never_stop = !!(xcinfo->flags&XEN_DOMINF_xs_domain); if (xlinfo->shutdown) xlinfo->shutdown_reason = (xcinfo->flags>>XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask; diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index 05606a74f2..7114491b03 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -559,6 +559,15 @@ typedef struct libxl__ctx libxl_ctx; */ #define LIBXL_HAVE_DOMINFO_OUTSTANDING_MEMKB 1 +/* + * LIBXL_HAVE_DOMINFO_NEVER_STOP + * + * If this is defined, libxl_dominfo will contain a flag called never_stop + * indicating that the specific domain should never be stopped by the + * toolstack. + */ +#define LIBXL_HAVE_DOMINFO_NEVER_STOP 1 + /* * LIBXL_HAVE_QXL * diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 9658356b0d..9ad7eba0dc 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -295,6 +295,7 @@ libxl_dominfo = Struct("dominfo",[ ("paused", bool), ("shutdown", bool), ("dying", bool), + ("never_stop", bool), # Valid iff ->shutdown is true. #