]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: beginJob: move saveStatus into private job callbacks
authorKristina Hanicova <khanicov@redhat.com>
Wed, 10 Aug 2022 12:57:00 +0000 (14:57 +0200)
committerJán Tomko <jtomko@redhat.com>
Wed, 10 Aug 2022 14:50:07 +0000 (16:50 +0200)
It makes sense to move this to other hypervisor-based functions
into the private job callback structure to make begin job
general.

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/hypervisor/domain_job.h
src/qemu/qemu_domain.c
src/qemu/qemu_domainjob.c

index 30893dabc3d2979710a59f69e19cdb55466119ea..838cfd16e350439a21121c02ba84aac319bdff7e 100644 (file)
@@ -196,6 +196,7 @@ typedef int (*virDomainObjPrivateJobFormat)(virBuffer *,
 typedef int (*virDomainObjPrivateJobParse)(xmlXPathContextPtr,
                                            virDomainJobObj *,
                                            virDomainObj *);
+typedef void (*virDomainObjPrivateSaveStatus)(virDomainObj *obj);
 
 struct _virDomainObjPrivateJobCallbacks {
    virDomainObjPrivateJobAlloc allocJobPrivate;
@@ -203,6 +204,7 @@ struct _virDomainObjPrivateJobCallbacks {
    virDomainObjPrivateJobReset resetJobPrivate;
    virDomainObjPrivateJobFormat formatJobPrivate;
    virDomainObjPrivateJobParse parseJobPrivate;
+   virDomainObjPrivateSaveStatus saveStatusPrivate;
 };
 
 
index bc5961a09f804f17daf95cf367927034b170631a..94b50420fe7bc233734f90953a52b7a432b3cf28 100644 (file)
@@ -366,6 +366,7 @@ static virDomainObjPrivateJobCallbacks qemuPrivateJobCallbacks = {
     .resetJobPrivate = qemuJobResetPrivate,
     .formatJobPrivate = qemuDomainFormatJobPrivate,
     .parseJobPrivate = qemuDomainParseJobPrivate,
+    .saveStatusPrivate = qemuDomainSaveStatus,
 };
 
 /**
index d682f7be383808fee34fbe711e11a46eeeaeaee4..11f30de136a6cd6167d7c3aa9da383995c75431e 100644 (file)
@@ -844,8 +844,8 @@ qemuDomainObjBeginJobInternal(virQEMUDriver *driver,
         priv->job.agentStarted = now;
     }
 
-    if (virDomainTrackJob(job))
-        qemuDomainSaveStatus(obj);
+    if (virDomainTrackJob(job) && priv->job.cb)
+        priv->job.cb->saveStatusPrivate(obj);
 
     return 0;