From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v8 03/11] xl: introduce enum domain_restart_type Date: Tue, 7 Jul 2015 16:48:04 -0400 Message-ID: <20150707204803.GE606@l.oracle.com> References: <1435075913-335-1-git-send-email-vkuznets@redhat.com> <1435075913-335-4-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZCZmv-0007wQ-Ck for xen-devel@lists.xenproject.org; Tue, 07 Jul 2015 20:48:21 +0000 Content-Disposition: inline In-Reply-To: <1435075913-335-4-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: Vitaly Kuznetsov Cc: Wei Liu , Andrew Jones , Keir Fraser , Ian Campbell , Stefano Stabellini , Andrew Cooper , Julien Grall , Ian Jackson , Olaf Hering , Tim Deegan , David Vrabel , Jan Beulich , xen-devel@lists.xenproject.org, Daniel De Graaf List-Id: xen-devel@lists.xenproject.org On Tue, Jun 23, 2015 at 06:11:45PM +0200, Vitaly Kuznetsov wrote: > 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 v7: > - s,restarter,restarted, [Ian Campbell] > --- > 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 5bc138c..374680c 100644 > --- a/tools/libxl/xl.h > +++ b/tools/libxl/xl.h > @@ -186,6 +186,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 7247cf1..32217fa 100644 > --- a/tools/libxl/xl_cmdimpl.c > +++ b/tools/libxl/xl_cmdimpl.c > @@ -2283,15 +2283,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) { > @@ -2346,12 +2343,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", > @@ -2799,7 +2796,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; > @@ -2807,7 +2804,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; > @@ -2843,7 +2840,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.2 >