needs_notify = FALSE; if(rsc->notify == FALSE) { crm_debug_4("No notification requuired for %s", action->uuid);
child_rsc->fns->create_notify_element( child_rsc, op, notify_xml, data_set); ); );
void clone_expand(resource_t *rsc, pe_working_set_t *data_set){		gboolean needs_notify = FALSE;	enum action_tasks task = no_action;	crm_data_t *notify_xml = create_xml_node(NULL, "notify");		clone_variant_data_t *clone_data = NULL;	get_clone_variant_data(clone_data, rsc);	crm_debug_2("Processing actions from %s", rsc->id);	slist_iter(		child_rsc, resource_t, clone_data->child_list, lpc,		slist_iter(			action, action_t, child_rsc->actions, lpc2,			needs_notify = FALSE;			if(rsc->notify == FALSE) {				crm_debug_4("No notification requuired for %s",					    action->uuid);			} else if(!action->pseudo && !action->runnable) {				crm_debug_2("Skipping notifications for"					    " unrunnable action %s",					    action->uuid);			} else if(!action->pseudo && action->optional) {				crm_debug_3("Skipping notifications for"					    " optional action %s",action->uuid);			} else {				task = text2task(action->task);				if(task == stop_rsc || task == start_rsc) {					needs_notify = TRUE;				} else {					crm_debug_4("No notification requuired"						    " for %s operations",						    action->task);				}			}						if(needs_notify) {				crm_debug_2("Processing notifications for %s",					    action->uuid);				child_rsc->fns->create_notify_element(					child_rsc, action, notify_xml, "target",					data_set);			}						);		child_rsc->fns->expand(child_rsc, data_set);		);	slist_iter(		action, action_t, clone_data->self->actions, lpc2,		if(safe_str_eq(action->task, CRMD_ACTION_NOTIFY)) {			action->extra_xml = notify_xml;		}		);		clone_data->self->fns->expand(clone_data->self, data_set);	free_xml(notify_xml);}