From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vitaly Kuznetsov Subject: [PATCH v10 03/11] xl: introduce enum domain_restart_type Date: Tue, 28 Jul 2015 15:28:08 +0200 Message-ID: <1438090096-8297-4-git-send-email-vkuznets@redhat.com> References: <1438090096-8297-1-git-send-email-vkuznets@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZK4vr-0005DY-7N for xen-devel@lists.xenproject.org; Tue, 28 Jul 2015 13:28:35 +0000 In-Reply-To: <1438090096-8297-1-git-send-email-vkuznets@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Andrew Jones , Julien Grall , Keir Fraser , Ian Campbell , Stefano Stabellini , Andrew Cooper , Ian Jackson , Olaf Hering , Tim Deegan , David Vrabel , Jan Beulich , Wei Liu , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org As a preparation before adding new restart type (soft reset) put all restart types into an enum. Signed-off-by: Vitaly Kuznetsov Acked-by: Ian Campbell Reviewed-by: Konrad Rzeszutek Wilk --- Changes since v9: - None. --- tools/libxl/xl.h | 6 ++++++ tools/libxl/xl_cmdimpl.c | 23 ++++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h index 13bccba..6c19c0d 100644 --- a/tools/libxl/xl.h +++ b/tools/libxl/xl.h @@ -190,6 +190,12 @@ enum output_format { }; extern enum output_format default_output_format; +typedef enum { + DOMAIN_RESTART_NONE = 0, /* No domain restart */ + DOMAIN_RESTART_NORMAL, /* Domain should be restarted */ + DOMAIN_RESTART_RENAME, /* Domain should be renamed and restarted */ +} domain_restart_type; + extern void printf_info_sexp(int domid, libxl_domain_config *d_config, FILE *fh); #define XL_GLOBAL_CONFIG XEN_CONFIG_DIR "/xl.conf" diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index fcd30e9..2e9e1bd 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -2395,15 +2395,12 @@ static void reload_domain_config(uint32_t domid, } } -/* Returns 1 if domain should be restarted, - * 2 if domain should be renamed then restarted, or 0 - * Can update r_domid if domain is destroyed etc */ -static int handle_domain_death(uint32_t *r_domid, - libxl_event *event, - libxl_domain_config *d_config) - +/* Can update r_domid if domain is destroyed */ +static domain_restart_type handle_domain_death(uint32_t *r_domid, + libxl_event *event, + libxl_domain_config *d_config) { - int restart = 0; + domain_restart_type restart = DOMAIN_RESTART_NONE; libxl_action_on_shutdown action; switch (event->u.domain_shutdown.shutdown_reason) { @@ -2458,12 +2455,12 @@ static int handle_domain_death(uint32_t *r_domid, case LIBXL_ACTION_ON_SHUTDOWN_RESTART_RENAME: reload_domain_config(*r_domid, d_config); - restart = 2; + restart = DOMAIN_RESTART_RENAME; break; case LIBXL_ACTION_ON_SHUTDOWN_RESTART: reload_domain_config(*r_domid, d_config); - restart = 1; + restart = DOMAIN_RESTART_NORMAL; /* fall-through */ case LIBXL_ACTION_ON_SHUTDOWN_DESTROY: LOG("Domain %d needs to be cleaned up: destroying the domain", @@ -2921,7 +2918,7 @@ start: event->u.domain_shutdown.shutdown_reason, event->u.domain_shutdown.shutdown_reason); switch (handle_domain_death(&domid, event, &d_config)) { - case 2: + case DOMAIN_RESTART_RENAME: if (!preserve_domain(&domid, event, &d_config)) { /* If we fail then exit leaving the old domain in place. */ ret = -1; @@ -2929,7 +2926,7 @@ start: } /* Otherwise fall through and restart. */ - case 1: + case DOMAIN_RESTART_NORMAL: libxl_event_free(ctx, event); libxl_evdisable_domain_death(ctx, deathw); deathw = NULL; @@ -2965,7 +2962,7 @@ start: sleep(2); goto start; - case 0: + case DOMAIN_RESTART_NONE: LOG("Done. Exiting now"); libxl_event_free(ctx, event); ret = 0; -- 2.4.3