node->details->shutdown = TRUE;
if(node->details->online) { node->details->shutdown = TRUE; }
unpack_failed_resource(GListPtr *node_constraints,		       xmlNodePtr rsc_entry, resource_t *rsc_lh, node_t *node){	const char *last_op  = xmlGetProp(rsc_entry, "last_op");	if(safe_str_eq(last_op, "start")) {		/* not running */		/* do not run the resource here again */		rsc_to_node_t *new_cons = crm_malloc(sizeof(rsc_to_node_t));		new_cons->id		= "dont_run_generate"; // genereate		new_cons->weight	= -1.0;		new_cons->modifier	= set;		new_cons->rsc_lh	= rsc_lh;		new_cons->node_list_rh	= g_list_append(NULL, node);				*node_constraints = g_list_append(*node_constraints, new_cons);	} else if(safe_str_eq(last_op, "stop")) {		/* must assume still running */		/* remedial action:		 *   shutdown (so all other resources are stopped gracefully)		 *   and then STONITH node		 */		node->details->shutdown = TRUE;		node->details->unclean  = TRUE;			} else {		/* unknown action... */		/* remedial action: ???		 *   shutdown (so all other resources are stopped gracefully)		 *   and then STONITH node		 */		node->details->shutdown = TRUE;		node->details->unclean  = TRUE;	}	return TRUE;}