MCPcopy Create free account
hub / github.com/ClusterLabs/pacemaker / create_async_command

Function create_async_command

fencing/commands.c:149–180  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

147}
148
149static async_command_t *create_async_command(xmlNode *msg)
150{
151 async_command_t *cmd = NULL;
152 xmlNode *op = get_xpath_object("//@"F_STONITH_ACTION, msg, LOG_ERR);
153 const char *action = crm_element_value(op, F_STONITH_ACTION);
154
155 CRM_CHECK(action != NULL, crm_log_xml_warn(msg, "NoAction"); return NULL);
156
157 crm_log_xml_trace(msg, "Command");
158 cmd = calloc(1, sizeof(async_command_t));
159 crm_element_value_int(msg, F_STONITH_CALLID, &(cmd->id));
160 crm_element_value_int(msg, F_STONITH_CALLOPTS, &(cmd->options));
161 crm_element_value_int(msg, F_STONITH_TIMEOUT, &(cmd->default_timeout));
162 cmd->timeout = cmd->default_timeout;
163
164 cmd->origin = crm_element_value_copy(msg, F_ORIG);
165 cmd->remote_op_id = crm_element_value_copy(msg, F_STONITH_REMOTE_OP_ID);
166 cmd->client = crm_element_value_copy(msg, F_STONITH_CLIENTID);
167 cmd->client_name = crm_element_value_copy(msg, F_STONITH_CLIENTNAME);
168 cmd->op = crm_element_value_copy(msg, F_STONITH_OPERATION);
169 cmd->action = strdup(action);
170 cmd->victim = crm_element_value_copy(op, F_STONITH_TARGET);
171 cmd->mode = crm_element_value_copy(op, F_STONITH_MODE);
172 cmd->device = crm_element_value_copy(op, F_STONITH_DEVICE);
173
174 CRM_CHECK(cmd->op != NULL, crm_log_xml_warn(msg, "NoOp"); free_async_command(cmd); return NULL);
175 CRM_CHECK(cmd->client != NULL, crm_log_xml_warn(msg, "NoClient"));
176
177 cmd->done_cb = st_child_done;
178 cmd_list = g_list_append(cmd_list, cmd);
179 return cmd;
180}
181
182static int stonith_manual_ack(xmlNode *msg, remote_fencing_op_t *op)
183{

Callers 4

stonith_manual_ackFunction · 0.85
stonith_device_actionFunction · 0.85
stonith_fenceFunction · 0.85
handle_requestFunction · 0.85

Calls 5

get_xpath_objectFunction · 0.85
crm_element_valueFunction · 0.85
crm_element_value_intFunction · 0.85
crm_element_value_copyFunction · 0.85
free_async_commandFunction · 0.85

Tested by

no test coverage detected