]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu & hypervisor: move qemuDomainObjInitJob() into hypervisor
authorKristina Hanicova <khanicov@redhat.com>
Thu, 21 Jul 2022 11:54:46 +0000 (13:54 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 21 Jul 2022 13:02:44 +0000 (15:02 +0200)
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>
src/hypervisor/domain_job.c
src/hypervisor/domain_job.h
src/libvirt_private.syms
src/qemu/qemu_domain.c
src/qemu/qemu_domainjob.c
src/qemu/qemu_domainjob.h

index 6a0fbd42b3cea35872be2066701b9ef92a313ce0..1ee70ea11e25b12d636f4f35d5dd58b3289bbed0 100644 (file)
@@ -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;
+}
index 9c203189a66aefb839f22bec3576bfd891b71eaa..7c65c4f8cd8e1f4e9809e3b0fe8af3b18e27c73c 100644 (file)
@@ -204,3 +204,7 @@ struct _virDomainObjPrivateJobCallbacks {
    virDomainObjPrivateJobFormat formatJobPrivate;
    virDomainObjPrivateJobParse parseJobPrivate;
 };
+
+
+int virDomainObjInitJob(virDomainJobObj *job,
+                        virDomainObjPrivateJobCallbacks *cb);
index f4732f174283994e0a3a185f3c11bb183c97f4f1..58c05a532c43de4123b0b385dccb5ed22e7e8aad 100644 (file)
@@ -1590,6 +1590,7 @@ virDomainJobDataInit;
 virDomainJobStatusToType;
 virDomainJobTypeFromString;
 virDomainJobTypeToString;
+virDomainObjInitJob;
 
 
 # hypervisor/virclosecallbacks.h
index 2d7f6d761db1a306036e924d8d70e59afd762c70..7df8041adf63885264bce83baab0ac86e3a6995f 100644 (file)
@@ -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;
index 82189393a2c305afdd8813315a0335eb53145122..74ea975e44f3f59e95a8e5119b894b6c4bb4f030 100644 (file)
@@ -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)
 {
index b39b04edcb3b118ed667cf94586e1fa86a249f9d..36747154c63dec6abc476f9a7e51488a7b57b901 100644 (file)
@@ -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);