inherit_debuglevel = getenv(HADEBUGVAL); if ((inherit_debuglevel != NULL) && (atoi(inherit_debuglevel) > 1)) { params_gstring = g_string_new(""); hash_to_str(params, params_gstring); cl_log(LOG_DEBUG, "RA instance %s executing: OCF::%s %s. Parameters: " "{%s}", rsc_id, rsc_type, op_type, params_gstring->str); g_string_free(params_gstring, TRUE); }
execra(const char * rsc_id, const char * rsc_type, const char * provider,       const char * op_type, const int timeout, GHashTable * params){	uniform_ret_execra_t exit_value;	char ra_pathname[RA_MAX_NAME_LENGTH];	GHashTable * tmp_for_setenv;	GString * params_gstring;	get_ra_pathname(RA_PATH, rsc_type, provider, ra_pathname);	/* Setup environment correctly */	tmp_for_setenv = g_hash_table_new(g_str_hash, g_str_equal);	add_OCF_prefix(params, tmp_for_setenv);	add_OCF_env_vars(tmp_for_setenv, rsc_id, rsc_type, provider);	raexec_setenv(tmp_for_setenv);	g_hash_table_foreach_remove(tmp_for_setenv, let_remove_eachitem, NULL);	g_hash_table_destroy(tmp_for_setenv);		/* execute the RA */	params_gstring = g_string_new("");	hash_to_str(params, params_gstring);	/* 	cl_log(LOG_DEBUG, "RA instance %s executing: OCF::%s %s. Parameters: "		"{%s}", rsc_id, rsc_type, op_type, params_gstring->str);	*/	g_string_free(params_gstring, TRUE);	execl(ra_pathname, ra_pathname, op_type, NULL);	switch (errno) {		case ENOENT:   /* No such file or directory */		case EISDIR:   /* Is a directory */			exit_value = EXECRA_NO_RA;			break;		default:			exit_value = EXECRA_EXEC_UNKNOWN_ERROR;	}	cl_log(LOG_ERR, "execl error when to execute RA %s.", rsc_type);	exit(exit_value);}