This patch moves qemuDomainObjClearJob() as
virDomainObjClearJob() into hypervisor in order to be used by
other hypervisors as well.
Signed-off-by: Kristina Hanicova <khanicov(a)redhat.com>
---
src/hypervisor/domain_job.c | 14 ++++++++++++++
src/hypervisor/domain_job.h | 3 +++
src/libvirt_private.syms | 1 +
src/qemu/qemu_domain.c | 2 +-
src/qemu/qemu_domainjob.c | 14 --------------
src/qemu/qemu_domainjob.h | 3 ---
6 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/src/hypervisor/domain_job.c b/src/hypervisor/domain_job.c
index 804a58047f..2a19811670 100644
--- a/src/hypervisor/domain_job.c
+++ b/src/hypervisor/domain_job.c
@@ -206,3 +206,17 @@ virDomainObjPreserveJob(virDomainJobObj *currJob,
virDomainObjResetAsyncJob(currJob);
return 0;
}
+
+void
+virDomainObjClearJob(virDomainJobObj *job)
+{
+ virDomainObjResetJob(job);
+ virDomainObjResetAsyncJob(job);
+ g_clear_pointer(&job->current, virDomainJobDataFree);
+ g_clear_pointer(&job->completed, virDomainJobDataFree);
+ virCondDestroy(&job->cond);
+ virCondDestroy(&job->asyncCond);
+
+ if (job->cb)
+ g_clear_pointer(&job->privateData, job->cb->freeJobPrivate);
+}
diff --git a/src/hypervisor/domain_job.h b/src/hypervisor/domain_job.h
index 44e4bfdb4a..53ce6706d4 100644
--- a/src/hypervisor/domain_job.h
+++ b/src/hypervisor/domain_job.h
@@ -217,3 +217,6 @@ void virDomainObjResetAsyncJob(virDomainJobObj *job);
int virDomainObjPreserveJob(virDomainJobObj *currJob,
virDomainJobObj *job);
+
+void virDomainObjClearJob(virDomainJobObj *job);
+G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virDomainJobObj, virDomainObjClearJob);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index edfa38c857..0e355abd69 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1590,6 +1590,7 @@ virDomainJobDataInit;
virDomainJobStatusToType;
virDomainJobTypeFromString;
virDomainJobTypeToString;
+virDomainObjClearJob;
virDomainObjInitJob;
virDomainObjPreserveJob;
virDomainObjResetAgentJob;
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index a53c25f36e..8beb2f31c1 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1716,7 +1716,7 @@ qemuDomainObjPrivateFree(void *data)
qemuDomainObjPrivateDataClear(priv);
virObjectUnref(priv->monConfig);
- qemuDomainObjClearJob(&priv->job);
+ virDomainObjClearJob(&priv->job);
g_free(priv->lockState);
g_free(priv->origname);
diff --git a/src/qemu/qemu_domainjob.c b/src/qemu/qemu_domainjob.c
index 4b8ba3f0bc..f323f28c77 100644
--- a/src/qemu/qemu_domainjob.c
+++ b/src/qemu/qemu_domainjob.c
@@ -185,20 +185,6 @@ qemuDomainObjRestoreAsyncJob(virDomainObj *vm,
}
-void
-qemuDomainObjClearJob(virDomainJobObj *job)
-{
- virDomainObjResetJob(job);
- virDomainObjResetAsyncJob(job);
- g_clear_pointer(&job->current, virDomainJobDataFree);
- g_clear_pointer(&job->completed, virDomainJobDataFree);
- virCondDestroy(&job->cond);
- virCondDestroy(&job->asyncCond);
-
- if (job->cb)
- g_clear_pointer(&job->privateData, job->cb->freeJobPrivate);
-}
-
bool
qemuDomainTrackJob(virDomainJob job)
{
diff --git a/src/qemu/qemu_domainjob.h b/src/qemu/qemu_domainjob.h
index 6272f9d845..eed94cd87c 100644
--- a/src/qemu/qemu_domainjob.h
+++ b/src/qemu/qemu_domainjob.h
@@ -133,9 +133,6 @@ int qemuDomainJobDataToParams(virDomainJobData *jobData,
bool qemuDomainTrackJob(virDomainJob job);
-void qemuDomainObjClearJob(virDomainJobObj *job);
-G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virDomainJobObj, qemuDomainObjClearJob);
-
int
qemuDomainObjPrivateXMLFormatJob(virBuffer *buf,
virDomainObj *vm);
--
2.37.1