]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu & conf: move BeginNestedJob & BeginJobNowait into src/conf
authorKristina Hanicova <khanicov@redhat.com>
Mon, 5 Sep 2022 13:57:15 +0000 (15:57 +0200)
committerJán Tomko <jtomko@redhat.com>
Wed, 7 Sep 2022 10:15:28 +0000 (12:15 +0200)
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/conf/virdomainjob.c
src/conf/virdomainjob.h
src/libvirt_private.syms
src/qemu/qemu_domain.c
src/qemu/qemu_domainjob.c
src/qemu/qemu_domainjob.h
src/qemu/qemu_driver.c
src/qemu/qemu_process.c

index feb8c0e971133cbebddfd90827254e8cfc392799..7915faa125adaeedcc945ed4db346f82ae5a297e 100644 (file)
@@ -559,6 +559,50 @@ int virDomainObjBeginAsyncJob(virDomainObj *obj,
     return 0;
 }
 
+int
+virDomainObjBeginNestedJob(virDomainObj *obj,
+                            virDomainAsyncJob asyncJob)
+{
+    if (asyncJob != obj->job->asyncJob) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("unexpected async job %d type expected %d"),
+                       asyncJob, obj->job->asyncJob);
+        return -1;
+    }
+
+    if (obj->job->asyncOwner != virThreadSelfID()) {
+        VIR_WARN("This thread doesn't seem to be the async job owner: %llu",
+                 obj->job->asyncOwner);
+    }
+
+    return virDomainObjBeginJobInternal(obj, obj->job,
+                                        VIR_JOB_ASYNC_NESTED,
+                                        VIR_AGENT_JOB_NONE,
+                                        VIR_ASYNC_JOB_NONE,
+                                        false);
+}
+
+/**
+ * virDomainObjBeginJobNowait:
+ *
+ * @obj: domain object
+ * @job: virDomainJob to start
+ *
+ * Acquires job for a domain object which must be locked before
+ * calling. If there's already a job running it returns
+ * immediately without any error reported.
+ *
+ * Returns: see virDomainObjBeginJobInternal
+ */
+int
+virDomainObjBeginJobNowait(virDomainObj *obj,
+                           virDomainJob job)
+{
+    return virDomainObjBeginJobInternal(obj, obj->job, job,
+                                        VIR_AGENT_JOB_NONE,
+                                        VIR_ASYNC_JOB_NONE, true);
+}
+
 /*
  * obj must be locked and have a reference before calling
  *
index 3cd02ef4ae27eba2cf9c728e1e7fdff5407020d1..c1013345968c8ce947974b81e69067b59e06a48c 100644 (file)
@@ -257,6 +257,12 @@ int virDomainObjBeginAsyncJob(virDomainObj *obj,
                               virDomainJobOperation operation,
                               unsigned long apiFlags)
     G_GNUC_WARN_UNUSED_RESULT;
+int virDomainObjBeginNestedJob(virDomainObj *obj,
+                               virDomainAsyncJob asyncJob)
+    G_GNUC_WARN_UNUSED_RESULT;
+int virDomainObjBeginJobNowait(virDomainObj *obj,
+                               virDomainJob job)
+    G_GNUC_WARN_UNUSED_RESULT;
 
 void virDomainObjEndJob(virDomainObj *obj);
 void virDomainObjEndAgentJob(virDomainObj *obj);
index 254abd50840462f29029308a6ee4beb1b4471a0e..25794bc2f4179c9f87016358848669a765cf6432 100644 (file)
@@ -1191,6 +1191,8 @@ virDomainObjBeginAgentJob;
 virDomainObjBeginAsyncJob;
 virDomainObjBeginJob;
 virDomainObjBeginJobInternal;
+virDomainObjBeginJobNowait;
+virDomainObjBeginNestedJob;
 virDomainObjCanSetJob;
 virDomainObjClearJob;
 virDomainObjEndAgentJob;
index 83d78900a65daa885e6a089e268bfd78dd2123e2..d7ef23f4934301ca0bdd7328d9979409875e381a 100644 (file)
@@ -5968,7 +5968,7 @@ qemuDomainObjEnterMonitorInternal(virDomainObj *obj,
 
     if (asyncJob != VIR_ASYNC_JOB_NONE) {
         int ret;
-        if ((ret = qemuDomainObjBeginNestedJob(obj, asyncJob)) < 0)
+        if ((ret = virDomainObjBeginNestedJob(obj, asyncJob)) < 0)
             return ret;
         if (!virDomainObjIsActive(obj)) {
             virReportError(VIR_ERR_OPERATION_FAILED, "%s",
index 99dcdb49b932d81d0cf344da2537a1758d8d2b0d..a170fdd97db522f79f033e9e999215224050d933 100644 (file)
@@ -655,50 +655,6 @@ qemuDomainObjReleaseAsyncJob(virDomainObj *obj)
     obj->job->asyncOwner = 0;
 }
 
-int
-qemuDomainObjBeginNestedJob(virDomainObj *obj,
-                            virDomainAsyncJob asyncJob)
-{
-    if (asyncJob != obj->job->asyncJob) {
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("unexpected async job %d type expected %d"),
-                       asyncJob, obj->job->asyncJob);
-        return -1;
-    }
-
-    if (obj->job->asyncOwner != virThreadSelfID()) {
-        VIR_WARN("This thread doesn't seem to be the async job owner: %llu",
-                 obj->job->asyncOwner);
-    }
-
-    return virDomainObjBeginJobInternal(obj, obj->job,
-                                        VIR_JOB_ASYNC_NESTED,
-                                        VIR_AGENT_JOB_NONE,
-                                        VIR_ASYNC_JOB_NONE,
-                                        false);
-}
-
-/**
- * qemuDomainObjBeginJobNowait:
- *
- * @obj: domain object
- * @job: virDomainJob to start
- *
- * Acquires job for a domain object which must be locked before
- * calling. If there's already a job running it returns
- * immediately without any error reported.
- *
- * Returns: see qemuDomainObjBeginJobInternal
- */
-int
-qemuDomainObjBeginJobNowait(virDomainObj *obj,
-                            virDomainJob job)
-{
-    return virDomainObjBeginJobInternal(obj, obj->job, job,
-                                        VIR_AGENT_JOB_NONE,
-                                        VIR_ASYNC_JOB_NONE, true);
-}
-
 void
 qemuDomainObjAbortAsyncJob(virDomainObj *obj)
 {
index 1cf9fcc113a47f3f19c7eaa11c4c7f710677ac02..c3de401aa50af38a035c7cd1f20219e27d491029 100644 (file)
@@ -69,13 +69,6 @@ int qemuDomainAsyncJobPhaseFromString(virDomainAsyncJob job,
 void qemuDomainEventEmitJobCompleted(virQEMUDriver *driver,
                                      virDomainObj *vm);
 
-int qemuDomainObjBeginNestedJob(virDomainObj *obj,
-                                virDomainAsyncJob asyncJob)
-    G_GNUC_WARN_UNUSED_RESULT;
-int qemuDomainObjBeginJobNowait(virDomainObj *obj,
-                                virDomainJob job)
-    G_GNUC_WARN_UNUSED_RESULT;
-
 void qemuDomainObjAbortAsyncJob(virDomainObj *obj);
 void qemuDomainObjSetJobPhase(virDomainObj *obj,
                               int phase);
index 80b954920d0f76b6abbed06d75c6f8a44e5ed23d..6931f0670db205924643ff6727449376a7cd60a6 100644 (file)
@@ -18834,7 +18834,7 @@ qemuConnectGetAllDomainStats(virConnectPtr conn,
             int rv;
 
             if (flags & VIR_CONNECT_GET_ALL_DOMAINS_STATS_NOWAIT)
-                rv = qemuDomainObjBeginJobNowait(vm, VIR_JOB_QUERY);
+                rv = virDomainObjBeginJobNowait(vm, VIR_JOB_QUERY);
             else
                 rv = virDomainObjBeginJob(vm, VIR_JOB_QUERY);
 
index 8592d71cfec583d0d15c5c06ad731bbe59c6664f..2d9cb5c0caa0a56d40dccc8e50a21fc22040326f 100644 (file)
@@ -8080,7 +8080,7 @@ void qemuProcessStop(virQEMUDriver *driver,
     virErrorPreserveLast(&orig_err);
 
     if (asyncJob != VIR_ASYNC_JOB_NONE) {
-        if (qemuDomainObjBeginNestedJob(vm, asyncJob) < 0)
+        if (virDomainObjBeginNestedJob(vm, asyncJob) < 0)
             goto cleanup;
     } else if (vm->job->asyncJob != VIR_ASYNC_JOB_NONE &&
                vm->job->asyncOwner == virThreadSelfID() &&