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
|
/* TODO: Individual devices generally have very little idea about the rest
|
||||||
of the system, so instance_id should be removed/replaced.
|
of the system, so instance_id should be removed/replaced.
|
||||||
Meanwhile pass -1 as instance_id if you do not already have a clearly
|
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) {
|
QTAILQ_FOREACH_SAFE(se, &savevm_state.handlers, entry, new_se) {
|
||||||
if (strcmp(se->idstr, id) == 0 && se->opaque == opaque) {
|
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->compat);
|
||||||
g_free(se);
|
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) {
|
QTAILQ_FOREACH_SAFE(se, &savevm_state.handlers, entry, new_se) {
|
||||||
if (se->vmsd == vmsd && se->opaque == opaque) {
|
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->compat);
|
||||||
g_free(se);
|
g_free(se);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user