On Fri, Feb 21, 2020 at 05:41:56PM +0100, David Hildenbrand wrote: > Resizing while migrating is dangerous and does not work as expected. > The whole migration code works on the usable_length of ram blocks and does > not expect this to change at random points in time. > > In the case of precopy, the ram block size must not change on the source, > after syncing the RAM block list in ram_save_setup(), so as long as the > guest is still running on the source. > > Resizing can be trigger *after* (but not during) a reset in > ACPI code by the guest > - hw/arm/virt-acpi-build.c:acpi_ram_update() > - hw/i386/acpi-build.c:acpi_ram_update() > > Use the ram block notifier to get notified about resizes. Let's simply > cancel migration and indicate the reason. We'll continue running on the > source. No harm done. > > Update the documentation. Postcopy will be handled separately. > > Cc: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > Cc: Juan Quintela <quint...@redhat.com> > Cc: Eduardo Habkost <ehabk...@redhat.com> > Cc: Paolo Bonzini <pbonz...@redhat.com> > Cc: Igor Mammedov <imamm...@redhat.com> > Cc: "Michael S. Tsirkin" <m...@redhat.com> > Cc: Richard Henderson <richard.hender...@linaro.org> > Cc: Shannon Zhao <shannon.z...@linaro.org> > Cc: Alex Bennée <alex.ben...@linaro.org> > Cc: Peter Xu <pet...@redhat.com> > Signed-off-by: David Hildenbrand <da...@redhat.com>
Reviewed-by: Peter Xu <pet...@redhat.com> -- Peter Xu