mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
qemuDomainCleanupRun: Actually run cleanup callbacks in reverse order
We have a framework to register cleanup callbacks that are run when a domain is shut down. The idea is to run callbacks in reverse order than they were registered. However, looking at the code this is not the case. Fortunately, this framework is used to register a single callback and a single callback only - qemuMigrationDstPrepareCleanup() - therefore there was no problem just yet. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
23bf93884c
commit
06fc99b6ce
@ -8032,18 +8032,14 @@ qemuDomainCleanupRun(virQEMUDriverPtr driver,
|
||||
virDomainObjPtr vm)
|
||||
{
|
||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||
size_t i;
|
||||
|
||||
VIR_DEBUG("driver=%p, vm=%s", driver, vm->def->name);
|
||||
|
||||
/* run cleanup callbacks in reverse order */
|
||||
for (i = 0; i < priv->ncleanupCallbacks; i++) {
|
||||
if (priv->cleanupCallbacks[priv->ncleanupCallbacks - (i + 1)])
|
||||
priv->cleanupCallbacks[i](driver, vm);
|
||||
}
|
||||
while (priv->ncleanupCallbacks)
|
||||
priv->cleanupCallbacks[--priv->ncleanupCallbacks](driver, vm);
|
||||
|
||||
VIR_FREE(priv->cleanupCallbacks);
|
||||
priv->ncleanupCallbacks = 0;
|
||||
priv->ncleanupCallbacks_max = 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user