From: Kristina Hanicova Date: Wed, 10 Aug 2022 12:57:00 +0000 (+0200) Subject: qemu: beginJob: move saveStatus into private job callbacks X-Git-Tag: v8.7.0-rc1~178 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ba0ead71488a4ebe6dd43bfa293cacd74fe9c1a;p=thirdparty%2Flibvirt.git 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 Reviewed-by: Ján Tomko Signed-off-by: Ján Tomko --- diff --git a/src/hypervisor/domain_job.h b/src/hypervisor/domain_job.h index 30893dabc3..838cfd16e3 100644 --- a/src/hypervisor/domain_job.h +++ b/src/hypervisor/domain_job.h @@ -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; }; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index bc5961a09f..94b50420fe 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -366,6 +366,7 @@ static virDomainObjPrivateJobCallbacks qemuPrivateJobCallbacks = { .resetJobPrivate = qemuJobResetPrivate, .formatJobPrivate = qemuDomainFormatJobPrivate, .parseJobPrivate = qemuDomainParseJobPrivate, + .saveStatusPrivate = qemuDomainSaveStatus, }; /** diff --git a/src/qemu/qemu_domainjob.c b/src/qemu/qemu_domainjob.c index d682f7be38..11f30de136 100644 --- a/src/qemu/qemu_domainjob.c +++ b/src/qemu/qemu_domainjob.c @@ -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;