[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v8 03/11] xl: introduce enum domain_restart_type



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 <vkuznets@xxxxxxxxxx>
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> ---
> 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
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.