From patchwork Mon Jan 18 08:03:52 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?SsO8cmdlbiBHcm/Dnw==?= X-Patchwork-Id: 8053271 Return-Path: X-Original-To: patchwork-xen-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 5401FBEEE5 for ; Mon, 18 Jan 2016 08:06:55 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id CA2DF20221 for ; Mon, 18 Jan 2016 08:06:49 +0000 (UTC) Received: from lists.xen.org (lists.xenproject.org [50.57.142.19]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DD593201FE for ; Mon, 18 Jan 2016 08:06:48 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xen.org) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aL4nW-0007lp-Sz; Mon, 18 Jan 2016 08:04:22 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aL4nV-0007la-5s for xen-devel@lists.xen.org; Mon, 18 Jan 2016 08:04:21 +0000 Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id D0/CA-02940-48C9C965; Mon, 18 Jan 2016 08:04:20 +0000 X-Env-Sender: jgross@suse.com X-Msg-Ref: server-2.tower-31.messagelabs.com!1453104259!16382554!1 X-Originating-IP: [195.135.220.15] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 7.35.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 49669 invoked from network); 18 Jan 2016 08:04:19 -0000 Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by server-2.tower-31.messagelabs.com with DHE-RSA-CAMELLIA256-SHA encrypted SMTP; 18 Jan 2016 08:04:19 -0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id E5B03AC2E; Mon, 18 Jan 2016 08:04:18 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xen.org, Ian.Campbell@citrix.com, ian.jackson@eu.citrix.com, stefano.stabellini@eu.citrix.com, wei.liu2@citrix.com, dgdegra@tycho.nsa.gov Date: Mon, 18 Jan 2016 09:03:52 +0100 Message-Id: <1453104244-6268-3-git-send-email-jgross@suse.com> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1453104244-6268-1-git-send-email-jgross@suse.com> References: <1453104244-6268-1-git-send-email-jgross@suse.com> Cc: Juergen Gross Subject: [Xen-devel] [PATCH v4 02/14] libxl: provide a flag in dominfo to avoid stopping it X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 --- V3: flag in dominfo instead function to get xenstore domid as requested by Ian Campbell Signed-off-by: Juergen Gross --- tools/libxl/libxl.c | 11 ++++++----- tools/libxl/libxl.h | 9 +++++++++ tools/libxl/libxl_types.idl | 1 + 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index abb2845..a8718b0 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 05606a7..7114491 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -560,6 +560,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 * * If defined, then the libxl_vga_interface_type will contain another value: diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 9658356..9ad7eba 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. #