qemu: beginJob: move saveStatus into private job callbacks

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>
This commit is contained in:
Kristina Hanicova 2022-08-10 14:57:00 +02:00 committed by Ján Tomko
parent 4217d08475
commit 6ba0ead714
3 changed files with 5 additions and 2 deletions

View 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;
};

View File

@ -366,6 +366,7 @@ static virDomainObjPrivateJobCallbacks qemuPrivateJobCallbacks = {
.resetJobPrivate = qemuJobResetPrivate,
.formatJobPrivate = qemuDomainFormatJobPrivate,
.parseJobPrivate = qemuDomainParseJobPrivate,
.saveStatusPrivate = qemuDomainSaveStatus,
};
/**

View 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;