Message ID | 20170822170212.27347-1-dgilbert@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Aug 22, 2017 at 06:02:12PM +0100, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > If the bdrv_inactivate_all fails near the end of the migration, > the migration will fail and often the only diagnostics in the log > are an I/O error which you can't distinguish from an error on > the socket connection. > > Add an error so we know when it's actually a block problem. > > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> IMHO it would be nice if bdrv_inactivate_all() can print some error message as soon as when the error occurs, then we can know more details (or allow caller to pass in an Error *). But at least adding one more error message never hurts, so: Reviewed-by: Peter Xu <peterx@redhat.com> > --- > migration/savevm.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/migration/savevm.c b/migration/savevm.c > index fdd15fa0a7..7a55023d1a 100644 > --- a/migration/savevm.c > +++ b/migration/savevm.c > @@ -1157,6 +1157,8 @@ int qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only, > * bdrv_invalidate_cache_all() on the other end won't fail. */ > ret = bdrv_inactivate_all(); > if (ret) { > + error_report("%s: bdrv_inactivate_all() failed (%d)", > + __func__, ret); > qemu_file_set_error(f, ret); > return ret; > } > -- > 2.13.5 >
On Tue, Aug 22, 2017 at 06:02:12PM +0100, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > If the bdrv_inactivate_all fails near the end of the migration, > the migration will fail and often the only diagnostics in the log > are an I/O error which you can't distinguish from an error on > the socket connection. > > Add an error so we know when it's actually a block problem. > > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > migration/savevm.c | 2 ++ > 1 file changed, 2 insertions(+) Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
* Dr. David Alan Gilbert (git) (dgilbert@redhat.com) wrote: > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > If the bdrv_inactivate_all fails near the end of the migration, > the migration will fail and often the only diagnostics in the log > are an I/O error which you can't distinguish from an error on > the socket connection. > > Add an error so we know when it's actually a block problem. > > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Queued for migration. > --- > migration/savevm.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/migration/savevm.c b/migration/savevm.c > index fdd15fa0a7..7a55023d1a 100644 > --- a/migration/savevm.c > +++ b/migration/savevm.c > @@ -1157,6 +1157,8 @@ int qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only, > * bdrv_invalidate_cache_all() on the other end won't fail. */ > ret = bdrv_inactivate_all(); > if (ret) { > + error_report("%s: bdrv_inactivate_all() failed (%d)", > + __func__, ret); > qemu_file_set_error(f, ret); > return ret; > } > -- > 2.13.5 > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff --git a/migration/savevm.c b/migration/savevm.c index fdd15fa0a7..7a55023d1a 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -1157,6 +1157,8 @@ int qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only, * bdrv_invalidate_cache_all() on the other end won't fail. */ ret = bdrv_inactivate_all(); if (ret) { + error_report("%s: bdrv_inactivate_all() failed (%d)", + __func__, ret); qemu_file_set_error(f, ret); return ret; }