On Wed, Apr 13, 2022 at 12:33:29PM +0100, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > The 'status' field for the migration is updated normally using > an atomic operation from the migration thread. > Most readers of it aren't that careful, and in most cases it doesn't > matter. > > In query_migrate->fill_source_migration_info the 'state' > is read twice; the first time to decide which state fields to fill in, > and then secondly to copy the state to the status field; that can end up > with a status that's inconsistent; e.g. setting up the fields > for 'setup' and then having an 'active' status. In that case > libvirt gets upset by the lack of ram info. > The symptom is: > libvirt.libvirtError: internal error: migration was active, but no RAM > info was set > > Read the state exactly once in fill_source_migration_info. > > This is a possible fix for: > https://bugzilla.redhat.com/show_bug.cgi?id=2074205 > > Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com>
Reviewed-by: Peter Xu <pet...@redhat.com> -- Peter Xu