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;
|
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;
|
virDomainObjPrivateJobFormat formatJobPrivate;
|
||||||
virDomainObjPrivateJobParse parseJobPrivate;
|
virDomainObjPrivateJobParse parseJobPrivate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
int virDomainObjInitJob(virDomainJobObj *job,
|
||||||
|
virDomainObjPrivateJobCallbacks *cb);
|
||||||
|
@ -1590,6 +1590,7 @@ virDomainJobDataInit;
|
|||||||
virDomainJobStatusToType;
|
virDomainJobStatusToType;
|
||||||
virDomainJobTypeFromString;
|
virDomainJobTypeFromString;
|
||||||
virDomainJobTypeToString;
|
virDomainJobTypeToString;
|
||||||
|
virDomainObjInitJob;
|
||||||
|
|
||||||
|
|
||||||
# hypervisor/virclosecallbacks.h
|
# hypervisor/virclosecallbacks.h
|
||||||
|
@ -1755,7 +1755,7 @@ qemuDomainObjPrivateAlloc(void *opaque)
|
|||||||
{
|
{
|
||||||
g_autoptr(qemuDomainObjPrivate) priv = g_new0(qemuDomainObjPrivate, 1);
|
g_autoptr(qemuDomainObjPrivate) priv = g_new0(qemuDomainObjPrivate, 1);
|
||||||
|
|
||||||
if (qemuDomainObjInitJob(&priv->job, &qemuPrivateJobCallbacks) < 0) {
|
if (virDomainObjInitJob(&priv->job, &qemuPrivateJobCallbacks) < 0) {
|
||||||
virReportSystemError(errno, "%s",
|
virReportSystemError(errno, "%s",
|
||||||
_("Unable to init qemu driver mutexes"));
|
_("Unable to init qemu driver mutexes"));
|
||||||
return NULL;
|
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
|
static void
|
||||||
qemuDomainObjResetJob(virDomainJobObj *job)
|
qemuDomainObjResetJob(virDomainJobObj *job)
|
||||||
{
|
{
|
||||||
|
@ -138,10 +138,6 @@ bool qemuDomainTrackJob(virDomainJob job);
|
|||||||
void qemuDomainObjClearJob(virDomainJobObj *job);
|
void qemuDomainObjClearJob(virDomainJobObj *job);
|
||||||
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virDomainJobObj, qemuDomainObjClearJob);
|
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virDomainJobObj, qemuDomainObjClearJob);
|
||||||
|
|
||||||
int
|
|
||||||
qemuDomainObjInitJob(virDomainJobObj *job,
|
|
||||||
virDomainObjPrivateJobCallbacks *cb);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
qemuDomainObjPrivateXMLFormatJob(virBuffer *buf,
|
qemuDomainObjPrivateXMLFormatJob(virBuffer *buf,
|
||||||
virDomainObj *vm);
|
virDomainObj *vm);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user