cl_log(LOG_DEBUG, "Processing node lrm state"); 
pdebug(cl_log(LOG_DEBUG, "Processing node lrm state")); 
unpack_status(xmlNodePtr status){	cl_log(LOG_DEBUG, "Begining unpack... %s", __FUNCTION__);	while(status != NULL) {		const char *id = xmlGetProp(status, "id");		const char *state = xmlGetProp(status, "state");		const char *exp_state = xmlGetProp(status, "exp_state");		xmlNodePtr lrm_state = find_xml_node(status, "lrm");		xmlNodePtr attrs = find_xml_node(status, "attributes");		lrm_state = find_xml_node(lrm_state, "lrm_resource");		lrm_state = find_xml_node(lrm_state, "rsc_state");		status = status->next;		cl_log(LOG_DEBUG, "Processing node %s", id);		if(id == NULL){			// error			continue;		}		cl_log(LOG_DEBUG, "Processing node attrs");				node_t *this_node = pe_find_node(node_list, id);		while(attrs != NULL){			const char *name = xmlGetProp(attrs, "name");			const char *value = xmlGetProp(attrs, "value");			cl_log(LOG_DEBUG, "Adding %s => %s",			       name, value);						if(name != NULL && value != NULL) {				g_hash_table_insert(this_node->attrs,						    cl_strdup(name),						    cl_strdup(value));			}			attrs = attrs->next;		}		cl_log(LOG_DEBUG, "Processing node lrm state");				if(safe_str_eq(exp_state, "active")		   && safe_str_eq(state, "active")) {			// process resource, make +ve preference			add_positive_preference(lrm_state);					} else if(0) {			// remove node from contention			node_t *node = NULL;			int lpc = 0;			for(; lpc < g_slist_length(node_list); lpc++) {				node_t *node = (node_t*)g_slist_nth_data(node_list, lpc);				if(safe_str_eq(node->id, id)){					node->weight = -1;					node->fixed = TRUE;				}			}      			if(safe_str_eq(exp_state, "down") 			   && safe_str_eq(state, "shutdown")){				// create shutdown req			} else if(safe_str_eq(exp_state, "active")				  && safe_str_neq(state, "active")) {				// create stonith				// mark unclean				// remove any running resources from being allocated			}      			if(safe_str_eq(state, "unclean")) {				stonith_list = g_slist_append(stonith_list, node);			}		}	}	cons_list = g_slist_sort(cons_list, sort_cons_strength);	return TRUE;	}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/3f7ef6f6d01e4c02d1ce2b39d4ae2a51c15a9d0b/pengine.c/clean/crm/pengine/pengine.c