migration: Create vmstate_register_any()

We have lots of cases where we are using an instance_id==0 when we
should be using VMSTATE_INSTANCE_ID_ANY (-1).  Basically everything
that can have more than one needs to have a proper instance_id or -1
and the system will take one for it.

vmstate_register_any(): We register with -1.

Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231020090731.28701-2-quintela@redhat.com>
master
Juan Quintela 2023-10-20 11:07:19 +02:00
parent 832685707f
commit 71daf640d9
1 changed files with 17 additions and 0 deletions

View File

@ -1230,6 +1230,23 @@ static inline int vmstate_register(VMStateIf *obj, int instance_id,
opaque, -1, 0, NULL);
}
/**
* vmstate_register_any() - legacy function to register state
* serialisation description and let the function choose the id
*
* New code shouldn't be using this function as QOM-ified devices have
* dc->vmsd to store the serialisation description.
*
* Returns: 0 on success, -1 on failure
*/
static inline int vmstate_register_any(VMStateIf *obj,
const VMStateDescription *vmsd,
void *opaque)
{
return vmstate_register_with_alias_id(obj, VMSTATE_INSTANCE_ID_ANY, vmsd,
opaque, -1, 0, NULL);
}
void vmstate_unregister(VMStateIf *obj, const VMStateDescription *vmsd,
void *opaque);