[Libvirt-cim] [PATCH] This patch replaces get_previous_instance function with get_rasd_by_name()
Richard Maciel
rmaciel at linux.vnet.ibm.com
Mon Sep 21 15:08:21 UTC 2009
+1
On 09/18/2009 01:54 PM, Sharad Mishra wrote:
> # HG changeset patch
> # User Sharad Mishra<snmishra at us.ibm.com>
> # Date 1253292817 25200
> # Node ID f916b221ea7e21b091d36ef841eb3bde1813798d
> # Parent fc50acd35fe7f344e296441a88a00f42a7636ad6
> This patch replaces get_previous_instance function with get_rasd_by_name().
>
> Signed-off-by: Sharad Mishra<snmishra at us.ibm.com>
>
> diff -r fc50acd35fe7 -r f916b221ea7e src/Virt_VirtualSystemManagementService.c
> --- a/src/Virt_VirtualSystemManagementService.c Wed Sep 16 11:49:21 2009 -0700
> +++ b/src/Virt_VirtualSystemManagementService.c Fri Sep 18 09:53:37 2009 -0700
> @@ -2185,49 +2185,6 @@
> return s;
> }
>
> -static CMPIInstance *get_previous_instance(struct domain *dominfo,
> - const CMPIObjectPath *ref,
> - uint16_t type,
> - const char *devid)
> -{
> - CMPIStatus s;
> - const char *props[] = {NULL};
> - const char *inst_id;
> - struct inst_list list;
> - CMPIInstance *prev_inst = NULL;
> - int i, ret;
> -
> - inst_list_init(&list);
> - s = enum_rasds(_BROKER, ref, dominfo->name, type, props,&list);
> - if (s.rc != CMPI_RC_OK) {
> - CU_DEBUG("Failed to enumerate rasd");
> - goto out;
> - }
> -
> - for(i = 0; i< list.cur; i++) {
> - prev_inst = list.list[i];
> - ret = cu_get_str_prop(prev_inst,
> - "InstanceID",
> -&inst_id);
> -
> - if (ret != CMPI_RC_OK) {
> - CU_DEBUG("Cannot get InstanceID ... ignoring");
> - continue;
> - }
> -
> - if (STREQ(inst_id, get_fq_devid(dominfo->name, (char *)devid)))
> - break;
> - }
> -
> - if (prev_inst == NULL)
> - CU_DEBUG("PreviousInstance is NULL");
> -
> - out:
> - inst_list_free(&list);
> -
> - return prev_inst;
> -}
> -
> static CMPIStatus _update_resources_for(const CMPIContext *context,
> const CMPIObjectPath *ref,
> virDomainPtr dom,
> @@ -2276,7 +2233,24 @@
> }
> else {
> indication = strdup(RASD_IND_MODIFIED);
> - prev_inst = get_previous_instance(dominfo, ref, type, devid);
> + char *dummy_name = NULL;
> +
> + if (asprintf(&dummy_name, "%s/%s",dominfo->name, devid) == -1) {
> + CU_DEBUG("Unable to set name");
> + goto out;
> + }
> + s = get_rasd_by_name(_BROKER,
> + ref,
> + dummy_name,
> + type,
> + NULL,
> +&prev_inst);
> + free(dummy_name);
> +
> + if (s.rc != CMPI_RC_OK) {
> + CU_DEBUG("Failed to get Previous Instance");
> + goto out;
> + }
> }
>
> s = func(dominfo, rasd, type, devid, NAMESPACE(ref));
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
--
Richard Maciel, MSc
IBM Linux Technology Center
rmaciel at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list