op->user_data = NULL;
op->user_data = crm_strdup(CRMD_RSCSTATE_MON_OK);
do_lrm_rsc_op(	lrm_rsc_t *rsc, char *rid, const char *operation, xmlNodePtr msg){	lrm_op_t* op = NULL;	if(rsc == NULL) {		// add it to the list		crm_verbose("adding rsc %s before operation", rid);		fsa_lrm_conn->lrm_ops->add_rsc(			fsa_lrm_conn, rid,			get_xml_attr_nested(				msg, rsc_path, DIMOF(rsc_path) -2,				"class", TRUE),			get_xml_attr_nested(				msg, rsc_path, DIMOF(rsc_path) -2,				XML_ATTR_TYPE, TRUE),			NULL);				rsc = fsa_lrm_conn->lrm_ops->get_rsc(			fsa_lrm_conn, rid);	}		if(rsc == NULL) {		crm_err("Could not add resource to LRM");		return I_FAIL;	}	// now do the op	crm_info("performing op %s... on %s", operation, rid);	op = g_new(lrm_op_t, 1);	op->op_type   = operation;	op->params    = xml2list(msg, rsc_path, DIMOF(rsc_path));	op->timeout   = 0;	op->interval  = 0;	op->user_data = NULL;	op->target_rc = EVERYTIME;	rsc->ops->perform_op(rsc, op);	if(safe_str_eq(operation, "start")) {		// initiate the monitor action		op = g_new(lrm_op_t, 1);		op->op_type   = "status";		op->params    = NULL;		op->user_data = NULL;		op->timeout   = 0;		op->interval  = 1000;		op->target_rc = CHANGED;		int monitor_call_id = rsc->ops->perform_op(rsc, op);		if(monitor_call_id < 0) {			/* just so its used, eventually this needs to be			 * recored so that we can stop it eventually			 */		}	}	return I_NULL;}