[Libvirt-cim] [PATCH 1/3] CSI: Only execute callback if indications are enabled

Chip Vincent cvincent at linux.vnet.ibm.com
Wed Feb 22 15:33:59 UTC 2012


+1. On RHEL 6.2 (libvirt-0.9.4) I was able to run all cimtests without seeing a 
core, but my local indication tests still do not work properly. It's a 
configuration issue I need to resolve. I always see the following:

ComputerSystemIndication - 01_created_indication.py: FAIL
ERROR     - Waited too long for define indication
ERROR     - Exception: Poll for indication Failed
ERROR     - Waited too long for start indication
ERROR     - Exception: Poll for indication Failed
ERROR     - Waited too long for destroy indication
ERROR     - Exception: Poll for indication Failed

Sharad: Can you give this patchset a try and see if it resolves the problem you 
were seeing?


On 02/20/2012 02:36 PM, Eduardo Lima (Etrunko) wrote:
> From: "Eduardo Lima (Etrunko)"<eblima at br.ibm.com>
>
> Signed-off-by: Eduardo Lima (Etrunko)<eblima at br.ibm.com>
> ---
>   src/Virt_ComputerSystemIndication.c |   16 ++++++++++------
>   1 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/src/Virt_ComputerSystemIndication.c b/src/Virt_ComputerSystemIndication.c
> index 712e12c..ab6ffe4 100644
> --- a/src/Virt_ComputerSystemIndication.c
> +++ b/src/Virt_ComputerSystemIndication.c
> @@ -489,11 +489,11 @@ static int update_domain_list(virConnectPtr conn, csi_thread_data_t *thread)
>           return s.rc;
>   }
>
> -static int csi_domain_event_cb(virConnectPtr conn,
> -                               virDomainPtr dom,
> -                               int event,
> -                               int detail,
> -                               void *data)
> +static void csi_domain_event_cb(virConnectPtr conn,
> +                                virDomainPtr dom,
> +                                int event,
> +                                int detail,
> +                                void *data)
>   {
>           int cs_event = CS_MODIFIED;
>           csi_thread_data_t *thread = (csi_thread_data_t *) data;
> @@ -501,6 +501,11 @@ static int csi_domain_event_cb(virConnectPtr conn,
>           char *prefix = class_prefix_name(thread->args->classname);
>           CMPIStatus s = {CMPI_RC_OK, NULL};
>
> +        if (lifecycle_enabled == false || thread->active_filters<= 0) {
> +                CU_DEBUG("%s indications deactivated, return");
> +                return;
> +        }
> +
>           CU_DEBUG("Event: Domain %s(%d) event: %d detail: %d\n",
>                    virDomainGetName(dom), virDomainGetID(dom), event, detail);
>
> @@ -557,7 +562,6 @@ static int csi_domain_event_cb(virConnectPtr conn,
>
>    end:
>           free(prefix);
> -        return 0;
>   }
>
>   static CMPI_THREAD_RETURN lifecycle_thread(void *params)


-- 
Chip Vincent
Open Virtualization
IBM Linux Technology Center
cvincent at linux.vnet.ibm.com




More information about the Libvirt-cim mailing list