[libvirt] [PATCH v2] esx: Fix and improve esxListAllDomains function

Peter Krempa pkrempa at redhat.com
Mon Sep 10 09:56:10 UTC 2012


On 09/09/12 17:55, Matthias Bolte wrote:
> Avoid requesting information such as identity or power state when it
> is not necessary.
>
> Lookup virtual machine list with the required fields (configStatus,
> name, and config.uuid) to make esxVI_GetVirtualMachineIdentity work.
>
> No need to call esxVI_GetNumberOfSnapshotTrees. rootSnapshotTreeList
> can be tested for emptiness by checking it for NULL.
>
> esxVI_LookupRootSnapshotTreeList already does the error reporting,
> don't overwrite it.
>
> Check if autostart is enabled at all before looking up the individual
> autostart setting of a virtual machine.
>
> Reorder VIR_EXPAND_N(doms, ndoms, 1) to avoid leaking the result of
> the call to virGetDomain if VIR_EXPAND_N fails.
>
> Replace VIR_EXPAND_N by VIR_RESIZE_N to avoid quadratic scaling, as in
> the Hyper-V version of the function.
>
> If virGetDomain fails it already reports an error, don't overwrite it
> with an OOM error.
>
> All items in doms up to the count-th one are valid, no need to double
> check before freeing them.
>
> Finally, don't leak autoStartDefaults and powerInfoList.
> ---
>
> v2: Replace VIR_EXPAND_N by VIR_RESIZE_N to avoid quadratic scaling,
>      as in the Hyper-V version of the function.
>
>   src/esx/esx_driver.c |  116 ++++++++++++++++++++++++++++++++-----------------
>   1 files changed, 76 insertions(+), 40 deletions(-)
>

ACK. I'm glad you took care of my mess :)

Peter




More information about the libvir-list mailing list