On Tue, Oct 24, 2023 at 12:41:56PM +0200, Juan Quintela wrote: > > @@ -509,6 +538,13 @@ static int vmstate_subsection_load(QEMUFile *f, const > > VMStateDescription *vmsd, > > } > > } > > > > + for (i = 0; i < n; i++) { > > + if (!visited[i] && vmstate_section_needed(vmsd->subsections[i], > > opaque)) { > > + trace_vmstate_subsection_load_bad(vmsd->name, > > vmsd->subsections[i]->name, "(not visited)"); > > + return -ENOENT; > > + } > > + } > > + > > trace_vmstate_subsection_load_good(vmsd->name); > > return 0; > > } > > This part is the only one where I can see there could be some > discussion. So I wil wait to see what other people think.
Previous email: https://lore.kernel.org/qemu-devel/ZR2P1RbxCfBdYBaQ@x1n/ I still think it is safer to not fail unless justified that we won't hit surprises in the ->needed(). There are a lot so I assume it's non-trivial to justify. We can switch the tracepoint into error_report() in that case, though, as long as it won't fail the migration. Thanks, -- Peter Xu