[PATCH 2/3] qemu: make separate function for setting statsType of privateData
Jiri Denemark
jdenemar at redhat.com
Thu Jan 27 17:40:22 UTC 2022
On Thu, Jan 20, 2022 at 17:59:49 +0100, Kristina Hanicova wrote:
> We only need to set statsType in almost every case of setting
> something from private data, so it seems unnecessary to pull
> privateData out of current / completed job for just this one
> thing every time. I think this patch keeps the code cleaner
> without variables used just once.
>
> Signed-off-by: Kristina Hanicova <khanicov at redhat.com>
> ---
> src/qemu/qemu_backup.c | 4 ++--
> src/qemu/qemu_domain.c | 8 ++++++++
> src/qemu/qemu_domain.h | 3 +++
> src/qemu/qemu_driver.c | 14 ++++++--------
> src/qemu/qemu_migration.c | 9 ++++-----
> src/qemu/qemu_process.c | 5 ++---
> src/qemu/qemu_snapshot.c | 5 ++---
> 7 files changed, 27 insertions(+), 21 deletions(-)
>
> diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c
> index 081c4d023f..23d3f44dd8 100644
> --- a/src/qemu/qemu_backup.c
> +++ b/src/qemu/qemu_backup.c
> @@ -746,7 +746,6 @@ qemuBackupBegin(virDomainObj *vm,
> unsigned int flags)
> {
> qemuDomainObjPrivate *priv = vm->privateData;
> - qemuDomainJobDataPrivate *privData = priv->job.current->privateData;
> g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(priv->driver);
> g_autoptr(virDomainBackupDef) def = NULL;
> g_autofree char *suffix = NULL;
> @@ -800,7 +799,8 @@ qemuBackupBegin(virDomainObj *vm,
> qemuDomainObjSetAsyncJobMask(vm, (QEMU_JOB_DEFAULT_MASK |
> JOB_MASK(QEMU_JOB_SUSPEND) |
> JOB_MASK(QEMU_JOB_MODIFY)));
> - privData->statsType = QEMU_DOMAIN_JOB_STATS_TYPE_BACKUP;
> + qemuDomainJobPrivateSetStatsType(priv->job.current->privateData,
> + QEMU_DOMAIN_JOB_STATS_TYPE_BACKUP);
>
> if (!virDomainObjIsActive(vm)) {
> virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index a8401bac30..62e67b438f 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
The new helper would fit slightly better in qemu_domainjob.c
> @@ -81,6 +81,14 @@
> VIR_LOG_INIT("qemu.qemu_domain");
>
>
> +void
> +qemuDomainJobPrivateSetStatsType(qemuDomainJobDataPrivate *privData,
> + qemuDomainJobStatsType type)
Since we're doing this to minimize the repeated code pattern, I would go
a little bit further and change the prototype to
qemuDomainJobSetStatsType(virDomainJobData *jobData,
qemuDomainJobStatsType type)
> +{
Having an extra
qemuDomainJobDataPrivate *privData = jobData->privateData;
here is better than repeating the dereference for every single caller.
> + privData->statsType = type;
> +}
> +
> +
> static void *
> qemuJobAllocPrivate(void)
> {
...
Looks OK otherwise.
Jirka
More information about the libvir-list
mailing list