On Tue, 10 Mar 2026 at 13:28, Alexandr Moshkov
<[email protected]> wrote:
> Hi, this breaks migration for s390x and ppc64:
>
> qemu-system-s390x: Missing section footer for qemu-s390-flic
>
> Thanks for reply! It happens because "qemu-s390-flic" vmsd has 
> "qemu-s390-flic-full" subsection. I'm not sure if we can change the names of 
> the existing subsections. Peter, what do you think?
>
> It seems to be a bigger problem that the migration framework does not 
> document the names for subsections in any way. At the same time, the code 
> implies that at least the names should be a substring with its parent. There 
> is even such a code comment `subsection name has to be "section_name/a"`, 
> that seems to imply the presence of /.
>
> Also I tried to put together a list of devices whose separator in subsections 
> is not /:

> or-irq

This one and probably some of the others are my mistake, I think.
I think this is because:
 * the migration code imposes a constraint on the subsection names
 * the migration documentation does not mention this constraint
 * the migration code does not effectively enforce this constraint
   (e.g. by asserting when the vmstate with a bad name is registered)

My assumption when writing that code was very likely that the
name of the subsection didn't have to have any relation to
the name of its parent subsection (after all, the migration
code knows it is a subsection, so if it needed to have the
name on the wire be "parentname/subsectionname" it could construct
that itself), and since it all just worked I never noticed the
mistake...

-- PMM

Reply via email to