migration/migration.c | 4 ++++ 1 file changed, 4 insertions(+)
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
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); >
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>
* 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
© 2016 - 2024 Red Hat, Inc.