crm_info("optype=%d, node_name=%s, result=%d, node_list=%s, action=%s", op->optype, op->node_name, op->op_result,
crm_info("call=%d, optype=%d, node_name=%s, result=%d, node_list=%s, action=%s", op->call_id, op->optype, op->node_name, op->op_result,
tengine_stonith_callback(stonith_ops_t * op){	const char *allow_fail  = NULL;	int action_id = -1;	action_t *stonith_action = NULL;	char *op_key = NULL;	char *call_id = NULL;	if(op == NULL) {		crm_err("Called with a NULL op!");		return;	}		crm_info("optype=%d, node_name=%s, result=%d, node_list=%s, action=%s",		 op->optype, op->node_name, op->op_result,		 (char *)op->node_list, op->private_data);	/* this will mark the event complete if a match is found */	CRM_DEV_ASSERT(op->private_data != NULL);	/* filter out old STONITH actions */	decodeNVpair(op->private_data, ';', &call_id, &op_key);	if(op_key != NULL) {		char *key = generate_transition_key(transition_counter,te_uuid);		gboolean key_matched = safe_str_eq(key, op_key);		crm_free(key);		if(key_matched == FALSE) {			crm_info("Ignoring old STONITH op: %s",				 op->private_data);			return;		}	}#if 1	action_id = crm_parse_int(call_id, "-1");	if(action_id < 0) {		crm_err("Stonith action not matched: %s (%s)",			call_id, op->private_data);		return;	}#endif	 	stonith_action = match_down_event(action_id,op->node_uuid,CRM_OP_FENCE);	if(stonith_action == NULL) {		crm_err("Stonith action not matched");		return;	}	switch(op->op_result) {		case STONITH_SUCCEEDED:			send_stonith_update(op);			break;		case STONITH_CANNOT:		case STONITH_TIMEOUT:		case STONITH_GENERIC:			stonith_action->failed = TRUE;			allow_fail = g_hash_table_lookup(				stonith_action->params, XML_ATTR_TE_ALLOWFAIL);			if(FALSE == crm_is_true(allow_fail)) {				crm_err("Stonith of %s failed (%d)..."					" aborting transition.",					op->node_name, op->op_result);				send_complete("Stonith failed",					      stonith_action->xml,					      te_failed, i_cancel);			}			break;		default:			crm_err("Unsupported action result: %d", op->op_result);			send_complete("Unsupport Stonith result",				      stonith_action->xml, te_failed, i_cancel);	}		process_trigger(action_id);	check_for_completion();	return;}