migration: add savevm_state_handler_remove()
Create a function to abstract common logic needed when removing a SaveStateEntry element from the savevm_state.handlers queue. For now we just remove the element. Soon it will involve additional cleanup. Signed-off-by: Scott Cheloha <cheloha@linux.vnet.ibm.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
619bd31d1f
commit
bd5de61e7b
@ -725,6 +725,11 @@ static void savevm_state_handler_insert(SaveStateEntry *nse)
|
||||
}
|
||||
}
|
||||
|
||||
static void savevm_state_handler_remove(SaveStateEntry *se)
|
||||
{
|
||||
QTAILQ_REMOVE(&savevm_state.handlers, se, entry);
|
||||
}
|
||||
|
||||
/* TODO: Individual devices generally have very little idea about the rest
|
||||
of the system, so instance_id should be removed/replaced.
|
||||
Meanwhile pass -1 as instance_id if you do not already have a clearly
|
||||
@ -777,7 +782,7 @@ void unregister_savevm(VMStateIf *obj, const char *idstr, void *opaque)
|
||||
|
||||
QTAILQ_FOREACH_SAFE(se, &savevm_state.handlers, entry, new_se) {
|
||||
if (strcmp(se->idstr, id) == 0 && se->opaque == opaque) {
|
||||
QTAILQ_REMOVE(&savevm_state.handlers, se, entry);
|
||||
savevm_state_handler_remove(se);
|
||||
g_free(se->compat);
|
||||
g_free(se);
|
||||
}
|
||||
@ -841,7 +846,7 @@ void vmstate_unregister(VMStateIf *obj, const VMStateDescription *vmsd,
|
||||
|
||||
QTAILQ_FOREACH_SAFE(se, &savevm_state.handlers, entry, new_se) {
|
||||
if (se->vmsd == vmsd && se->opaque == opaque) {
|
||||
QTAILQ_REMOVE(&savevm_state.handlers, se, entry);
|
||||
savevm_state_handler_remove(se);
|
||||
g_free(se->compat);
|
||||
g_free(se);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user