[PATCH 2/4] qemu_driver: add required capabilities to qemuDomainGetStatsWorkers
Michal Prívozník
mprivozn at redhat.com
Fri Oct 15 13:51:57 UTC 2021
On 10/15/21 11:49 AM, Hiroki Narukawa wrote:
> One of qemuDomainGetStatsWorkers requires capabilities to run.
>
> This commit adds capability information to qemuDomainGetStatsWorkers.
>
> Signed-off-by: Hiroki Narukawa <hnarukaw at yahoo-corp.jp>
> ---
> src/qemu/qemu_driver.c | 32 +++++++++++++++++++++-----------
> 1 file changed, 21 insertions(+), 11 deletions(-)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 2b759f5719..ac5eaf139e 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -18685,20 +18685,30 @@ struct qemuDomainGetStatsWorker {
> qemuDomainGetStatsFunc func;
> unsigned int stats;
> bool monitor;
> + virQEMUCapsFlags* requiredCaps;
We prefer the '*' char next to variable, like this:
virQEMUCapsFlags *requiredCaps;
> +};
> +
> +static virQEMUCapsFlags noCapsRequired[] = {
> + QEMU_CAPS_LAST,
> +};
> +
> +static virQEMUCapsFlags queryDirtyRateRequired[] = {
> + QEMU_CAPS_QUERY_DIRTY_RATE,
> + QEMU_CAPS_LAST,
> };
>
> static struct qemuDomainGetStatsWorker qemuDomainGetStatsWorkers[] = {
> - { qemuDomainGetStatsState, VIR_DOMAIN_STATS_STATE, false },
> - { qemuDomainGetStatsCpu, VIR_DOMAIN_STATS_CPU_TOTAL, false },
> - { qemuDomainGetStatsBalloon, VIR_DOMAIN_STATS_BALLOON, true },
> - { qemuDomainGetStatsVcpu, VIR_DOMAIN_STATS_VCPU, true },
> - { qemuDomainGetStatsInterface, VIR_DOMAIN_STATS_INTERFACE, false },
> - { qemuDomainGetStatsBlock, VIR_DOMAIN_STATS_BLOCK, true },
> - { qemuDomainGetStatsPerf, VIR_DOMAIN_STATS_PERF, false },
> - { qemuDomainGetStatsIOThread, VIR_DOMAIN_STATS_IOTHREAD, true },
> - { qemuDomainGetStatsMemory, VIR_DOMAIN_STATS_MEMORY, false },
> - { qemuDomainGetStatsDirtyRate, VIR_DOMAIN_STATS_DIRTYRATE, true },
> - { NULL, 0, false }
> + { qemuDomainGetStatsState, VIR_DOMAIN_STATS_STATE, false, noCapsRequired },
> + { qemuDomainGetStatsCpu, VIR_DOMAIN_STATS_CPU_TOTAL, false, noCapsRequired },
> + { qemuDomainGetStatsBalloon, VIR_DOMAIN_STATS_BALLOON, true, noCapsRequired },
> + { qemuDomainGetStatsVcpu, VIR_DOMAIN_STATS_VCPU, true, noCapsRequired },
> + { qemuDomainGetStatsInterface, VIR_DOMAIN_STATS_INTERFACE, false, noCapsRequired },
> + { qemuDomainGetStatsBlock, VIR_DOMAIN_STATS_BLOCK, true, noCapsRequired },
> + { qemuDomainGetStatsPerf, VIR_DOMAIN_STATS_PERF, false, noCapsRequired },
> + { qemuDomainGetStatsIOThread, VIR_DOMAIN_STATS_IOTHREAD, true, noCapsRequired },
> + { qemuDomainGetStatsMemory, VIR_DOMAIN_STATS_MEMORY, false, noCapsRequired },
> + { qemuDomainGetStatsDirtyRate, VIR_DOMAIN_STATS_DIRTYRATE, true, queryDirtyRateRequired },
> + { NULL, 0, false, NULL }
How about instead of noCapsRequired a simple NULL would be passed? The
consumer can then check for NULL and skip the loop completely.
Michal
More information about the libvir-list
mailing list