Kaitlin Rupert wrote:
Heidi Eckhart wrote:
> # HG changeset patch
> # User Heidi Eckhart <heidieck(a)linux.vnet.ibm.com>
> # Date 1201865505 -3600
> # Node ID d4b86a39d55d2208c5f56a6666ccc212ab60a240
> # Parent 6b1bf8231d82f51f25ac3d954b63962bfc7484c9
> RPCC: returns instances of Xen on a KVM only system
>
> This breaks the approach that is used all over libvirt-cim
> providers, where only instances of the currently supported
> hypervisor type are returned.
>
> Signed-off-by: Heidi Eckhart <heidieck(a)linux.vnet.ibm.com>
>
> diff -r 6b1bf8231d82 -r d4b86a39d55d
> src/Virt_ResourcePoolConfigurationCapabilities.c
> --- a/src/Virt_ResourcePoolConfigurationCapabilities.c Fri Feb 01
> 12:20:46 2008 +0100
> +++ b/src/Virt_ResourcePoolConfigurationCapabilities.c Fri Feb 01
> 12:31:45 2008 +0100
> @@ -51,28 +51,39 @@ static CMPIStatus get_rpc_cap(const CMPI
> const CMPIObjectPath *reference,
> CMPIInstance **_inst)
> {
> - CMPIInstance *inst;
> + CMPIStatus s = {CMPI_RC_OK, NULL};
> + CMPIInstance *inst = NULL;
> + virConnectPtr conn = NULL;
> +
> + conn = connect_by_classname(_BROKER, CLASSNAME(reference), &s);
> + if (conn == NULL)
> + goto out;
Not sure if everyone will agree, but would it be a good idea to set an
error status here?
Currently, only Virt_ResourcePoolConfigurationCapabilities is calling
this function, but I think that's a potential bug.
ElementCapabilities doesn't support this Capabilities class, but I
think it should based on the ResourceAllocation profile.
Of course, that's a subject of a different patch. However, if we set
the status here, then ElementCapabilities won't have to worry about
checking whether the instance is NULL.
I think this might be one of those places
where setting a negative
status could cause an error code to filter up to the CIMOM when we don't
want it to. Something like the distinction between "CMPI_RC_ERR" and
"CMPI_RC_NOT_FOUND" or whatever that was.
--
-Jay