mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-10 17:57:25 +03:00
qemu & hypervisor: move qemuDomainObjInitJob() into hypervisor
This patch moves qemuDomainObjInitJob() as virDomainObjInitJob() into hypervisor in order to be used by other drivers as well. Signed-off-by: Kristina Hanicova <khanicov@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
f87dc1c49e
commit
260a091982
@ -112,3 +112,28 @@ virDomainJobStatusToType(virDomainJobStatus status)
|
||||
|
||||
return VIR_DOMAIN_JOB_NONE;
|
||||
}
|
||||
|
||||
int
|
||||
virDomainObjInitJob(virDomainJobObj *job,
|
||||
virDomainObjPrivateJobCallbacks *cb)
|
||||
{
|
||||
memset(job, 0, sizeof(*job));
|
||||
job->cb = cb;
|
||||
|
||||
if (virCondInit(&job->cond) < 0)
|
||||
return -1;
|
||||
|
||||
if (virCondInit(&job->asyncCond) < 0) {
|
||||
virCondDestroy(&job->cond);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (job->cb &&
|
||||
!(job->privateData = job->cb->allocJobPrivate())) {
|
||||
virCondDestroy(&job->cond);
|
||||
virCondDestroy(&job->asyncCond);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -204,3 +204,7 @@ struct _virDomainObjPrivateJobCallbacks {
|
||||
virDomainObjPrivateJobFormat formatJobPrivate;
|
||||
virDomainObjPrivateJobParse parseJobPrivate;
|
||||
};
|
||||
|
||||
|
||||
int virDomainObjInitJob(virDomainJobObj *job,
|
||||
virDomainObjPrivateJobCallbacks *cb);
|
||||
|
@ -1590,6 +1590,7 @@ virDomainJobDataInit;
|
||||
virDomainJobStatusToType;
|
||||
virDomainJobTypeFromString;
|
||||
virDomainJobTypeToString;
|
||||
virDomainObjInitJob;
|
||||
|
||||
|
||||
# hypervisor/virclosecallbacks.h
|
||||
|
@ -1755,7 +1755,7 @@ qemuDomainObjPrivateAlloc(void *opaque)
|
||||
{
|
||||
g_autoptr(qemuDomainObjPrivate) priv = g_new0(qemuDomainObjPrivate, 1);
|
||||
|
||||
if (qemuDomainObjInitJob(&priv->job, &qemuPrivateJobCallbacks) < 0) {
|
||||
if (virDomainObjInitJob(&priv->job, &qemuPrivateJobCallbacks) < 0) {
|
||||
virReportSystemError(errno, "%s",
|
||||
_("Unable to init qemu driver mutexes"));
|
||||
return NULL;
|
||||
|
@ -150,32 +150,6 @@ qemuDomainEventEmitJobCompleted(virQEMUDriver *driver,
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
qemuDomainObjInitJob(virDomainJobObj *job,
|
||||
virDomainObjPrivateJobCallbacks *cb)
|
||||
{
|
||||
memset(job, 0, sizeof(*job));
|
||||
job->cb = cb;
|
||||
|
||||
if (virCondInit(&job->cond) < 0)
|
||||
return -1;
|
||||
|
||||
if (virCondInit(&job->asyncCond) < 0) {
|
||||
virCondDestroy(&job->cond);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (job->cb &&
|
||||
!(job->privateData = job->cb->allocJobPrivate())) {
|
||||
virCondDestroy(&job->cond);
|
||||
virCondDestroy(&job->asyncCond);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
qemuDomainObjResetJob(virDomainJobObj *job)
|
||||
{
|
||||
|
@ -138,10 +138,6 @@ bool qemuDomainTrackJob(virDomainJob job);
|
||||
void qemuDomainObjClearJob(virDomainJobObj *job);
|
||||
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virDomainJobObj, qemuDomainObjClearJob);
|
||||
|
||||
int
|
||||
qemuDomainObjInitJob(virDomainJobObj *job,
|
||||
virDomainObjPrivateJobCallbacks *cb);
|
||||
|
||||
int
|
||||
qemuDomainObjPrivateXMLFormatJob(virBuffer *buf,
|
||||
virDomainObj *vm);
|
||||
|
Loading…
x
Reference in New Issue
Block a user