On 08/28/14 14:48, Eric Blake wrote:
On 08/28/2014 06:18 AM, Peter Krempa wrote:
> Implement the API function for virDomainListGetStats and
> virConnectGetAllDomainStats in a modular way and implement the
> VIR_DOMAIN_STATS_STATE group of statistics.
>
> Although it may look like the function looks universal I'd rather not
> expose it to other drivers as the coming stats groups are likely to do
> qemu specific stuff to obtain the stats.
> ---
>
> Notes:
> Version 4:
> - fixed handling and error checking of @stats
> - domain filtering flags are now rejected when passing in a domain list
Looks nicer. Thanks for putting up with me.
> +static int
> +qemuDomainGetStats(virConnectPtr conn,
> + virDomainObjPtr dom,
> +
> + for (i = 0; qemuDomainGetStatsWorkers[i].func; i++) {
> + if (stats & qemuDomainGetStatsWorkers[i].stats) {
> + if (qemuDomainGetStatsWorkers[i].func(dom, tmp, &maxparams,
These two if's could be combined into one with &&, for one less level of
indentation (but I'm also okay if you leave it alone).
> + flags) < 0)
> + goto cleanup;
> + }
> + }
> +
> + if (!(tmp->dom = virGetDomain(conn, dom->def->name,
dom->def->uuid)))
Earlier versions had a comment about doing dom last for a reason. Not
sure if you want to reinstate it; I can live without it.
I've added the comment before I found a way to non-error-destructively
free the domain object so now it isn't entirely true.
> +}
> +
> +
> +
> +static int
> +qemuConnectGetAllDomainStats(virConnectPtr conn,
3 blank lines is unusual.
Also not-easy-to spot when trying to find it :D.
ACK.
Thanks pushed.
Peter