[PATCH 0/4] jobs: use virDomainObjResetJob()

*** BLURB HERE *** Kristina Hanicova (4): qemu & hypervisor: move qemuDomainObjResetJob() into hypervisor libxl: use virDomainObjResetJob() LXC: use virDomainObjResetJob() CH: use virDomainObjResetJob() src/ch/ch_domain.c | 13 ++----------- src/hypervisor/domain_job.c | 9 +++++++++ src/hypervisor/domain_job.h | 2 ++ src/libvirt_private.syms | 1 + src/libxl/libxl_domain.c | 13 ++----------- src/lxc/lxc_domain.c | 13 ++----------- src/qemu/qemu_domainjob.c | 20 +++++--------------- 7 files changed, 23 insertions(+), 48 deletions(-) -- 2.35.3

This patch moves qemuDomainObjResetJob() as virDomainObjResetJob() into hypervisor in order to be used by other hypervisors as well. Signed-off-by: Kristina Hanicova <khanicov@redhat.com> --- src/hypervisor/domain_job.c | 9 +++++++++ src/hypervisor/domain_job.h | 2 ++ src/libvirt_private.syms | 1 + src/qemu/qemu_domainjob.c | 20 +++++--------------- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/hypervisor/domain_job.c b/src/hypervisor/domain_job.c index 1ee70ea11e..5b97624287 100644 --- a/src/hypervisor/domain_job.c +++ b/src/hypervisor/domain_job.c @@ -137,3 +137,12 @@ virDomainObjInitJob(virDomainJobObj *job, return 0; } + +void +virDomainObjResetJob(virDomainJobObj *job) +{ + job->active = VIR_JOB_NONE; + job->owner = 0; + g_clear_pointer(&job->ownerAPI, g_free); + job->started = 0; +} diff --git a/src/hypervisor/domain_job.h b/src/hypervisor/domain_job.h index 7c65c4f8cd..4c32296117 100644 --- a/src/hypervisor/domain_job.h +++ b/src/hypervisor/domain_job.h @@ -208,3 +208,5 @@ struct _virDomainObjPrivateJobCallbacks { int virDomainObjInitJob(virDomainJobObj *job, virDomainObjPrivateJobCallbacks *cb); + +void virDomainObjResetJob(virDomainJobObj *job); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6a5c5600df..d5046604dd 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1591,6 +1591,7 @@ virDomainJobStatusToType; virDomainJobTypeFromString; virDomainJobTypeToString; virDomainObjInitJob; +virDomainObjResetJob; # hypervisor/virclosecallbacks.h diff --git a/src/qemu/qemu_domainjob.c b/src/qemu/qemu_domainjob.c index 74ea975e44..a45103256a 100644 --- a/src/qemu/qemu_domainjob.c +++ b/src/qemu/qemu_domainjob.c @@ -150,16 +150,6 @@ qemuDomainEventEmitJobCompleted(virQEMUDriver *driver, } -static void -qemuDomainObjResetJob(virDomainJobObj *job) -{ - job->active = VIR_JOB_NONE; - job->owner = 0; - g_clear_pointer(&job->ownerAPI, g_free); - job->started = 0; -} - - static void qemuDomainObjResetAgentJob(virDomainJobObj *job) { @@ -219,7 +209,7 @@ qemuDomainObjPreserveJob(virDomainObj *obj, return -1; job->cb = priv->job.cb; - qemuDomainObjResetJob(&priv->job); + virDomainObjResetJob(&priv->job); qemuDomainObjResetAsyncJob(&priv->job); return 0; } @@ -263,7 +253,7 @@ qemuDomainObjRestoreAsyncJob(virDomainObj *vm, void qemuDomainObjClearJob(virDomainJobObj *job) { - qemuDomainObjResetJob(job); + virDomainObjResetJob(job); qemuDomainObjResetAsyncJob(job); g_clear_pointer(&job->current, virDomainJobDataFree); g_clear_pointer(&job->completed, virDomainJobDataFree); @@ -772,7 +762,7 @@ qemuDomainObjDiscardAsyncJob(virDomainObj *obj) qemuDomainObjPrivate *priv = obj->privateData; if (priv->job.active == VIR_JOB_ASYNC_NESTED) - qemuDomainObjResetJob(&priv->job); + virDomainObjResetJob(&priv->job); qemuDomainObjResetAsyncJob(&priv->job); qemuDomainSaveStatus(obj); } @@ -919,7 +909,7 @@ qemuDomainObjBeginJobInternal(virQEMUDriver *driver, ignore_value(virTimeMillisNow(&now)); if (job) { - qemuDomainObjResetJob(&priv->job); + virDomainObjResetJob(&priv->job); if (job != VIR_JOB_ASYNC) { VIR_DEBUG("Started job: %s (async=%s vm=%p name=%s)", @@ -1180,7 +1170,7 @@ qemuDomainObjEndJob(virDomainObj *obj) virDomainAsyncJobTypeToString(priv->job.asyncJob), obj, obj->def->name); - qemuDomainObjResetJob(&priv->job); + virDomainObjResetJob(&priv->job); if (qemuDomainTrackJob(job)) qemuDomainSaveStatus(obj); /* We indeed need to wake up ALL threads waiting because -- 2.35.3

This patch removes and replaces libxlDomainObjResetJob() with general virDomainObjResetJob(). Signed-off-by: Kristina Hanicova <khanicov@redhat.com> --- src/libxl/libxl_domain.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index e2e078bd50..467c1ee914 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -44,15 +44,6 @@ VIR_LOG_INIT("libxl.libxl_domain"); -static void -libxlDomainObjResetJob(libxlDomainObjPrivate *priv) -{ - virDomainJobObj *job = &priv->job; - - job->active = VIR_JOB_NONE; - job->owner = 0; -} - static void libxlDomainObjFreeJob(libxlDomainObjPrivate *priv) { @@ -92,7 +83,7 @@ libxlDomainObjBeginJob(libxlDriverPrivate *driver G_GNUC_UNUSED, goto error; } - libxlDomainObjResetJob(priv); + virDomainObjResetJob(&priv->job); VIR_DEBUG("Starting job: %s", virDomainJobTypeToString(job)); priv->job.active = job; @@ -140,7 +131,7 @@ libxlDomainObjEndJob(libxlDriverPrivate *driver G_GNUC_UNUSED, VIR_DEBUG("Stopping job: %s", virDomainJobTypeToString(job)); - libxlDomainObjResetJob(priv); + virDomainObjResetJob(&priv->job); virCondSignal(&priv->job.cond); } -- 2.35.3

This patch removes and replaces virLXCDomainObjResetJob() with general virDomainObjResetJob(). Signed-off-by: Kristina Hanicova <khanicov@redhat.com> --- src/lxc/lxc_domain.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/lxc/lxc_domain.c b/src/lxc/lxc_domain.c index fed4ae088a..6f048a128a 100644 --- a/src/lxc/lxc_domain.c +++ b/src/lxc/lxc_domain.c @@ -35,15 +35,6 @@ VIR_LOG_INIT("lxc.lxc_domain"); -static void -virLXCDomainObjResetJob(virLXCDomainObjPrivate *priv) -{ - virDomainJobObj *job = &priv->job; - - job->active = VIR_JOB_NONE; - job->owner = 0; -} - static void virLXCDomainObjFreeJob(virLXCDomainObjPrivate *priv) { @@ -82,7 +73,7 @@ virLXCDomainObjBeginJob(virLXCDriver *driver G_GNUC_UNUSED, goto error; } - virLXCDomainObjResetJob(priv); + virDomainObjResetJob(&priv->job); VIR_DEBUG("Starting job: %s", virDomainJobTypeToString(job)); priv->job.active = job; @@ -124,7 +115,7 @@ virLXCDomainObjEndJob(virLXCDriver *driver G_GNUC_UNUSED, VIR_DEBUG("Stopping job: %s", virDomainJobTypeToString(job)); - virLXCDomainObjResetJob(priv); + virDomainObjResetJob(&priv->job); virCondSignal(&priv->job.cond); } -- 2.35.3

This patch removes and replaces virCHDomainObjResetJob() with general virDomainObjResetJob(). Signed-off-by: Kristina Hanicova <khanicov@redhat.com> --- src/ch/ch_domain.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/ch/ch_domain.c b/src/ch/ch_domain.c index ae53c6fe05..499d31cf4a 100644 --- a/src/ch/ch_domain.c +++ b/src/ch/ch_domain.c @@ -32,15 +32,6 @@ VIR_LOG_INIT("ch.ch_domain"); -static void -virCHDomainObjResetJob(virCHDomainObjPrivate *priv) -{ - virDomainJobObj *job = &priv->job; - - job->active = VIR_JOB_NONE; - job->owner = 0; -} - static void virCHDomainObjFreeJob(virCHDomainObjPrivate *priv) { @@ -88,7 +79,7 @@ virCHDomainObjBeginJob(virDomainObj *obj, virDomainJob job) } } - virCHDomainObjResetJob(priv); + virDomainObjResetJob(&priv->job); VIR_DEBUG("Starting job: %s", virDomainJobTypeToString(job)); priv->job.active = job; @@ -112,7 +103,7 @@ virCHDomainObjEndJob(virDomainObj *obj) VIR_DEBUG("Stopping job: %s", virDomainJobTypeToString(job)); - virCHDomainObjResetJob(priv); + virDomainObjResetJob(&priv->job); virCondSignal(&priv->job.cond); } -- 2.35.3

Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com> On 7/22/22 9:25 AM, Kristina Hanicova wrote:
*** BLURB HERE ***
Kristina Hanicova (4): qemu & hypervisor: move qemuDomainObjResetJob() into hypervisor libxl: use virDomainObjResetJob() LXC: use virDomainObjResetJob() CH: use virDomainObjResetJob()
src/ch/ch_domain.c | 13 ++----------- src/hypervisor/domain_job.c | 9 +++++++++ src/hypervisor/domain_job.h | 2 ++ src/libvirt_private.syms | 1 + src/libxl/libxl_domain.c | 13 ++----------- src/lxc/lxc_domain.c | 13 ++----------- src/qemu/qemu_domainjob.c | 20 +++++--------------- 7 files changed, 23 insertions(+), 48 deletions(-)
participants (2)
-
Jonathon Jongsma
-
Kristina Hanicova