down_op = action_new(NULL, shutdown_crm, NULL, node);
down_op = custom_action( NULL, crm_strdup(CRM_OP_SHUTDOWN), CRM_OP_SHUTDOWN, node);
stage6(GListPtr *actions, GListPtr *ordering_constraints,       GListPtr nodes, GListPtr resources){	action_t *down_op = NULL;	action_t *stonith_op = NULL;	crm_verbose("Processing fencing and shutdown cases");	slist_iter(		node, node_t, nodes, lpc,		if(node->details->online && node->details->shutdown) {			crm_info("Scheduling Node %s for shutdown",				 node->details->uname);						down_op = action_new(NULL, shutdown_crm, NULL, node);			down_op->runnable = TRUE;						*actions = g_list_append(*actions, down_op);						shutdown_constraints(				node, down_op, ordering_constraints);		}		if(node->details->unclean && stonith_enabled == FALSE) {			crm_err("Node %s is unclean!", node->details->uname);			crm_warn("YOUR RESOURCES ARE NOW LIKELY COMPROMISED");			crm_warn("ENABLE STONITH TO KEEP YOUR RESOURCES SAFE");		} else if(node->details->unclean && stonith_enabled		   && (have_quorum || no_quorum_policy == no_quorum_ignore)) {			crm_warn("Scheduling Node %s for STONITH",				 node->details->uname);			stonith_op = action_new(NULL, stonith_node,NULL,NULL);			stonith_op->runnable = TRUE;			add_hash_param(				stonith_op->extra, XML_LRM_ATTR_TARGET,				node->details->uname);			add_hash_param(				stonith_op->extra, XML_LRM_ATTR_TARGET_UUID,				node->details->id);						if(down_op != NULL) {				down_op->failure_is_fatal = FALSE;			}						*actions = g_list_append(*actions, stonith_op);			}		if(node->details->unclean) {			stonith_constraints(				node, stonith_op, down_op, ordering_constraints);		}				);	return TRUE;}