On Thu, Jun 11, 2026 at 03:35:47PM +0900, Akihiko Odaki wrote: > Supersedes: <[email protected]> > ("[PATCH] system/physmem: Assert migration invariants") > > ram_mig_ram_block_resized() already aborts migration when migratable RAM > is resized. Extend the same handling to other unsupported changes to the > migratable RAMBlock set, such as removing a migratable RAMBlock or > changing a RAMBlock's migratable state. > > Signed-off-by: Akihiko Odaki <[email protected]> > --- > Akihiko Odaki (3): > system/physmem: Pass RAMBlock to RAMBlockNotifier callbacks > system/physmem: Notify RAMBlock migratable and idstr changes > migration/ram: Abort on unsupported migratable RAM changes
Thanks for looking at this, Akihiko. I understand this is a protection to the system to trap error use cases. The question I have is do we have any possible way to trigger these. I worry we add a bunch of code and notifiers, and then there's zero way to trigger, essentially add dead code. Logically we could already add assert() on things we don't expect to happen. This case might be slightly risky, but still I think we can also consider things like error_report_once() instead of introducing slightly complex notifiers just to cover what we think shouldn't happen. Or do you have way to trigger any of these notifiers? PS: today I went back and I wanted to try how the existing resize() notifier would trigger, I can't even reproduce it with David's example here: https://lore.kernel.org/qemu-devel/[email protected]/#t I can trap a qemu_ram_resize(), but that's invoked with newsize==rb->size, so it didn't really notify a thing. I don't really know how to trigger ram_block_notify_resize(). If you know, please share. Thanks, -- Peter Xu
