#include <string.h>
#include "domain_job.h"
+#include "viralloc.h"
VIR_ENUM_IMPL(virDomainJob,
g_clear_pointer(&job->agentOwnerAPI, g_free);
job->agentStarted = 0;
}
+
+void
+virDomainObjResetAsyncJob(virDomainJobObj *job)
+{
+ job->asyncJob = VIR_ASYNC_JOB_NONE;
+ job->asyncOwner = 0;
+ g_clear_pointer(&job->asyncOwnerAPI, g_free);
+ job->asyncStarted = 0;
+ job->phase = 0;
+ job->mask = VIR_JOB_DEFAULT_MASK;
+ job->abortJob = false;
+ VIR_FREE(job->error);
+ g_clear_pointer(&job->current, virDomainJobDataFree);
+ job->apiFlags = 0;
+
+ if (job->cb)
+ job->cb->resetJobPrivate(job->privateData);
+}
}
-static void
-qemuDomainObjResetAsyncJob(virDomainJobObj *job)
-{
- job->asyncJob = VIR_ASYNC_JOB_NONE;
- job->asyncOwner = 0;
- g_clear_pointer(&job->asyncOwnerAPI, g_free);
- job->asyncStarted = 0;
- job->phase = 0;
- job->mask = VIR_JOB_DEFAULT_MASK;
- job->abortJob = false;
- VIR_FREE(job->error);
- g_clear_pointer(&job->current, virDomainJobDataFree);
- job->apiFlags = 0;
-
- if (job->cb)
- job->cb->resetJobPrivate(job->privateData);
-}
-
-
/**
* qemuDomainObjPreserveJob
* @param obj domain with a job that needs to be preserved
job->cb = priv->job.cb;
virDomainObjResetJob(&priv->job);
- qemuDomainObjResetAsyncJob(&priv->job);
+ virDomainObjResetAsyncJob(&priv->job);
return 0;
}
qemuDomainObjClearJob(virDomainJobObj *job)
{
virDomainObjResetJob(job);
- qemuDomainObjResetAsyncJob(job);
+ virDomainObjResetAsyncJob(job);
g_clear_pointer(&job->current, virDomainJobDataFree);
g_clear_pointer(&job->completed, virDomainJobDataFree);
virCondDestroy(&job->cond);
if (priv->job.active == VIR_JOB_ASYNC_NESTED)
virDomainObjResetJob(&priv->job);
- qemuDomainObjResetAsyncJob(&priv->job);
+ virDomainObjResetAsyncJob(&priv->job);
qemuDomainSaveStatus(obj);
}
VIR_DEBUG("Started async job: %s (vm=%p name=%s)",
virDomainAsyncJobTypeToString(asyncJob),
obj, obj->def->name);
- qemuDomainObjResetAsyncJob(&priv->job);
+ virDomainObjResetAsyncJob(&priv->job);
priv->job.current = virDomainJobDataInit(&qemuJobDataPrivateDataCallbacks);
priv->job.current->status = VIR_DOMAIN_JOB_STATUS_ACTIVE;
priv->job.asyncJob = asyncJob;
virDomainAsyncJobTypeToString(priv->job.asyncJob),
obj, obj->def->name);
- qemuDomainObjResetAsyncJob(&priv->job);
+ virDomainObjResetAsyncJob(&priv->job);
qemuDomainSaveStatus(obj);
virCondBroadcast(&priv->job.asyncCond);
}