
Dan Smith wrote:
HE> return NULL; HE> } HE> @@ -144,9 +165,6 @@ static CMPIStatus do_assoc(struct std_as HE> handler = std_assoc_get_handler(ctx, ref); HE> if (handler == NULL) { HE> CU_DEBUG("No handler found."); HE> - cu_statusf(ctx->brkr, &s, HE> - CMPI_RC_ERR_FAILED, HE> - "Unable to handle this association"); HE> goto out; HE> }
HE> @@ -243,9 +261,7 @@ static CMPIStatus do_ref(struct std_asso
HE> handler = std_assoc_get_handler(ctx, ref); HE> if (handler == NULL) { HE> - cu_statusf(ctx->brkr, &s, HE> - CMPI_RC_ERR_FAILED, HE> - "Unable to handle this association"); HE> + CU_DEBUG("No handler found."); HE> goto out; HE> }
Why should we not return error in these cases now? Currently, these signal the case of someone trying to do something like:
wbemcli ain -ac Xen_SystemDevice http://...:Xen_MemoryPool
(i.e. resolving a particular association with an invalid reference) Because this is only a request the provider is not responsible for, but not an error case. There exists the possibility that another provider is called by the same request and this on is responsible for this request, returning valid instances that are revoked, because our provider only wants to tell "I'm not responsible for this request". The behavior of an association provider in the case he figures out that he is not responsible for a certain request is to be "silent". On the other hand - avoiding such invalid requests is the responsibility of the client.
-- Regards Heidi Eckhart Software Engineer Linux Technology Center - Open Hypervisor heidieck@linux.vnet.ibm.com ************************************************** IBM Deutschland Entwicklung GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschaeftsfuehrung: Herbert Kircher Sitz der Gesellschaft: Boeblingen Registergericht: Amtsgericht Stuttgart, HRB 243294