[PATCH] migration: failover: emit a warning when the card is not fully unplugged

Laurent Vivier posted 1 patch 2 years, 10 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210701131458.112036-1-lvivier@redhat.com
Maintainers: Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
migration/migration.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] migration: failover: emit a warning when the card is not fully unplugged
Posted by Laurent Vivier 2 years, 10 months ago
When the migration fails or is canceled we wait the end of the unplug
operation to be able to plug it back. But if the unplug operation
is never finished we stop to wait and QEMU emits a warning to inform
the user.

Based-on: 20210629155007.629086-1-lvivier@redhat.com
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
---
 migration/migration.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/migration/migration.c b/migration/migration.c
index 3b06d43a7f42..e065c62e5189 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -3689,6 +3689,10 @@ static void qemu_savevm_wait_unplug(MigrationState *s, int old_state,
             while (timeout-- && qemu_savevm_state_guest_unplug_pending()) {
                 qemu_sem_timedwait(&s->wait_unplug_sem, 250);
             }
+            if (qemu_savevm_state_guest_unplug_pending()) {
+                warn_report("migration: partially unplugged device on "
+                            "failure");
+            }
         }
 
         migrate_set_state(&s->state, MIGRATION_STATUS_WAIT_UNPLUG, new_state);
-- 
2.31.1


Re: [PATCH] migration: failover: emit a warning when the card is not fully unplugged
Posted by Philippe Mathieu-Daudé 2 years, 10 months ago
On 7/1/21 3:14 PM, Laurent Vivier wrote:
> When the migration fails or is canceled we wait the end of the unplug
> operation to be able to plug it back. But if the unplug operation
> is never finished we stop to wait and QEMU emits a warning to inform
> the user.
> 
> Based-on: 20210629155007.629086-1-lvivier@redhat.com

FYI this ^ tag ...

> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
> ---

... goes here ;)

>  migration/migration.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/migration/migration.c b/migration/migration.c
> index 3b06d43a7f42..e065c62e5189 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -3689,6 +3689,10 @@ static void qemu_savevm_wait_unplug(MigrationState *s, int old_state,
>              while (timeout-- && qemu_savevm_state_guest_unplug_pending()) {
>                  qemu_sem_timedwait(&s->wait_unplug_sem, 250);
>              }
> +            if (qemu_savevm_state_guest_unplug_pending()) {
> +                warn_report("migration: partially unplugged device on "
> +                            "failure");
> +            }
>          }
>  
>          migrate_set_state(&s->state, MIGRATION_STATUS_WAIT_UNPLUG, new_state);
> 


Re: [PATCH] migration: failover: emit a warning when the card is not fully unplugged
Posted by Juan Quintela 2 years, 10 months ago
Laurent Vivier <lvivier@redhat.com> wrote:
> When the migration fails or is canceled we wait the end of the unplug
> operation to be able to plug it back. But if the unplug operation
> is never finished we stop to wait and QEMU emits a warning to inform
> the user.
>
> Based-on: 20210629155007.629086-1-lvivier@redhat.com
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>


Re: [PATCH] migration: failover: emit a warning when the card is not fully unplugged
Posted by Dr. David Alan Gilbert 2 years, 9 months ago
* Laurent Vivier (lvivier@redhat.com) wrote:
> When the migration fails or is canceled we wait the end of the unplug
> operation to be able to plug it back. But if the unplug operation
> is never finished we stop to wait and QEMU emits a warning to inform
> the user.
> 
> Based-on: 20210629155007.629086-1-lvivier@redhat.com
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>

Queued

> ---
>  migration/migration.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/migration/migration.c b/migration/migration.c
> index 3b06d43a7f42..e065c62e5189 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -3689,6 +3689,10 @@ static void qemu_savevm_wait_unplug(MigrationState *s, int old_state,
>              while (timeout-- && qemu_savevm_state_guest_unplug_pending()) {
>                  qemu_sem_timedwait(&s->wait_unplug_sem, 250);
>              }
> +            if (qemu_savevm_state_guest_unplug_pending()) {
> +                warn_report("migration: partially unplugged device on "
> +                            "failure");
> +            }
>          }
>  
>          migrate_set_state(&s->state, MIGRATION_STATUS_WAIT_UNPLUG, new_state);
> -- 
> 2.31.1
> 
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK