qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v12 01/21] migration: Set error state in case of


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH v12 01/21] migration: Set error state in case of error
Date: Wed, 2 May 2018 16:53:47 +0100
User-agent: Mutt/1.9.5 (2018-04-13)

* Juan Quintela (address@hidden) wrote:
> Signed-off-by: Juan Quintela <address@hidden>
> ---
>  migration/ram.c | 24 ++++++++++++++++++++++--
>  1 file changed, 22 insertions(+), 2 deletions(-)
> 
> diff --git a/migration/ram.c b/migration/ram.c
> index 0e90efa092..2ae560ea80 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -415,10 +415,20 @@ struct {
>      int count;
>  } *multifd_send_state;
>  
> -static void terminate_multifd_send_threads(Error *errp)
> +static void terminate_multifd_send_threads(Error *err)
>  {
>      int i;
>  
> +    if (err) {
> +        MigrationState *s = migrate_get_current();
> +        migrate_set_error(s, err);
> +        if (s->state == MIGRATION_STATUS_SETUP ||
> +            s->state == MIGRATION_STATUS_ACTIVE) {

Can you explain/add comment why these only set it in some states?
For example what about PRE_SWITCHOVER, DEVICE or postcopy?

Dave

> +            migrate_set_state(&s->state, s->state,
> +                              MIGRATION_STATUS_FAILED);
> +        }
> +    }
> +
>      for (i = 0; i < multifd_send_state->count; i++) {
>          MultiFDSendParams *p = &multifd_send_state->params[i];
>  
> @@ -515,10 +525,20 @@ struct {
>      int count;
>  } *multifd_recv_state;
>  
> -static void terminate_multifd_recv_threads(Error *errp)
> +static void terminate_multifd_recv_threads(Error *err)
>  {
>      int i;
>  
> +    if (err) {
> +        MigrationState *s = migrate_get_current();
> +        migrate_set_error(s, err);
> +        if (s->state == MIGRATION_STATUS_SETUP ||
> +            s->state == MIGRATION_STATUS_ACTIVE) {
> +            migrate_set_state(&s->state, s->state,
> +                              MIGRATION_STATUS_FAILED);
> +        }
> +    }
> +
>      for (i = 0; i < multifd_recv_state->count; i++) {
>          MultiFDRecvParams *p = &multifd_recv_state->params[i];
>  
> -- 
> 2.17.0
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]