if(cause == C_LRM_OP_CALLBACK) { lrm_op_t* op = (lrm_op_t*)data; lrm_rsc_t* rsc = op->rsc;  crm_debug("Processing %d event for %s/%s", op->op_status, op->op_type, rsc->id);  switch(op->op_status) { case LRM_OP_ERROR: case LRM_OP_CANCELLED: case LRM_OP_TIMEOUT: case LRM_OP_NOTSUPPORTED: crm_err("An LRM operation failed" " or was aborted");  case LRM_OP_DONE: do_update_resource(rsc, op);   break; }  } else {
if(msg_data->fsa_cause != C_LRM_OP_CALLBACK) {
do_lrm_event(long long action,	     enum crmd_fsa_cause cause,	     enum crmd_fsa_state cur_state,	     enum crmd_fsa_input cur_input,	     void *data){		if(cause == C_LRM_OP_CALLBACK) {		lrm_op_t* op = (lrm_op_t*)data;		lrm_rsc_t* rsc = op->rsc;		crm_debug("Processing %d event for %s/%s",			  op->op_status, op->op_type, rsc->id);				switch(op->op_status) {			case LRM_OP_ERROR:			case LRM_OP_CANCELLED:			case LRM_OP_TIMEOUT:			case LRM_OP_NOTSUPPORTED:				crm_err("An LRM operation failed"					" or was aborted");				/* fall through */			case LRM_OP_DONE:				do_update_resource(rsc, op);				break;		}			} else {		return I_FAIL;	}		return I_NULL;}