[Linux-cluster] Latest cvs

Ion Alberdi ialberdi at histor.fr
Mon Jun 20 08:50:17 UTC 2005


Ion Alberdi wrote:

> I have more clues:
> It appears that the error comes from:
> find_root_by_ref in reslist.c because it returns NULL
> when it's called from group_op in groups.c in my second node.
> I'm continuing my investigation, but if someone has an idea about why 
> this could happen
> It could be great!
>
what happens in find_root_by_ref:
the loop only does one iteration
then curr->r_rule->rr_root == 0
so the loop continues and as there is no other elements in the list
it goes out and returns NULL.
I tried to see what this field means but when I saw the structures:

typedef struct _resource_rule 
{                                                                                                                                                                                      

        
list_head();                                                                                                                                                                                                 

        char *  
rr_type;                                                                                                                                                                                             

        char *  
rr_agent;                                                                                                                                                                                            

        char *  rr_version;     /** agent XML spec 
version;OCF-ism*/                                                                                                                                               

        int     rr_root; ->I dont know what's the purpose of this 
field......                                                                                                                                                                                      

        int     
rr_maxrefs;                                                                                                                                                                                          

        resource_attr_t *       
rr_attrs;                                                                                                                                                                            

        resource_child_t *      
rr_childtypes;                                                                                                                                                                       

        resource_act_t *        
rr_actions;                                                                                                                                                                          

} 
resource_rule_t;                                                                                                                                                                                                   

                                                                                                                                                                                                                     

                                                                                                                                                                                                                     

typedef struct _resource 
{                                                                                                                                                                                           

        
list_head();                                                                                                                                                                                                 

        resource_rule_t *       
r_rule;                                                                                                                                                                              

        char *  
r_name;                                                                                                                                                                                              

        resource_attr_t *       
r_attrs;                                                                                                                                                                             

        int     
r_flags;                                                                                                                                                                                             

        int     
r_refs;                                                                                                                                                                                              

        int     r_incarnations; /** Number of instances running locally 
*/                                                                                                                                           

        time_t  r_started;      /** Time this resource was last started 
*/                                                                                                                                           

        resource_act_t *        
r_actions;                                                                                                                                                                           

} resource_t;                                      

I couldn't guess what was happening......

I'm going to see what happens in the other node, to have more clues and 
to see what is
the normal behaviour of this function

Any help,clue would always be great ;-D




More information about the Linux-cluster mailing list