I'll change it before pushing, is it ok to push v4 and v5?/Regards HansN On 08/12/14 14:42, Hans Feldt wrote: > Ack with minor comment inline > /HansF > >> -----Original Message----- >> From: Hans Nordebäck >> Sent: den 12 augusti 2014 14:08 >> To: Hans Feldt; praveen.malv...@oracle.com; nagendr...@oracle.com >> Cc: opensaf-devel@lists.sourceforge.net >> Subject: [PATCH 1 of 1] AMF: support immediate effect when changing >> comp-type attributes v5 [#819] >> >> osaf/libs/common/amf/include/amf_defs.h | 5 +++- >> osaf/services/saf/amf/amfd/comptype.cc | 18 ++++++++++++++- >> osaf/services/saf/amf/amfnd/compdb.cc | 28 >> ++++++++++++++++++++++-- >> osaf/services/saf/amf/amfnd/include/avnd_comp.h | 2 + >> 4 files changed, 47 insertions(+), 6 deletions(-) >> >> >> Added support for saAmfCtDefDisableRestart, >> saAmfCtDefQuiescingCompleteTimeout. >> >> diff --git a/osaf/libs/common/amf/include/amf_defs.h >> b/osaf/libs/common/amf/include/amf_defs.h >> --- a/osaf/libs/common/amf/include/amf_defs.h >> +++ b/osaf/libs/common/amf/include/amf_defs.h >> @@ -252,7 +252,10 @@ typedef enum >> { >> saAmfCtDefCallbackTimeout_ID = 1, >> saAmfCtDefClcCliTimeout_ID = 2, >> - saAmfCtDefRecoveryOnError_ID = 3 >> + saAmfCtDefRecoveryOnError_ID = 3, >> + saAmfCtDefDisableRestart_ID = 4, >> + saAmfCtDefInstantiationLevel_ID = 5, >> + saAmfCtDefQuiescingCompleteTimeout_ID = 6 >> } AVSV_AMF_COMPTYPE_ATTR_ID; >> >> /* Attribute ID enum for the SaAmfHealthcheck class */ >> diff --git a/osaf/services/saf/amf/amfd/comptype.cc >> b/osaf/services/saf/amf/amfd/comptype.cc >> --- a/osaf/services/saf/amf/amfd/comptype.cc >> +++ b/osaf/services/saf/amf/amfd/comptype.cc >> @@ -442,7 +442,6 @@ static void ccb_apply_modify_hdlr(const >> SaTimeT *param_val = (SaTimeT >> *)attribute->attrValues[0]; >> TRACE("saAmfCtDefCallbackTimeout to '%llu' for >> compType '%s' on node '%s'", *param_val, >> opdata->objectName.value, >> (*it)->name.value); >> - >> param.value_len = sizeof(*param_val); >> memcpy(param.value, param_val, param.value_len); >> param.attr_id = saAmfCtDefCallbackTimeout_ID; >> @@ -451,11 +450,18 @@ static void ccb_apply_modify_hdlr(const >> SaTimeT *param_val = (SaTimeT >> *)attribute->attrValues[0]; >> TRACE("saAmfCtDefClcCliTimeout to '%llu' for >> compType '%s' on node '%s'", *param_val, >> opdata->objectName.value, >> (*it)->name.value); >> - >> param.value_len = sizeof(*param_val); >> memcpy(param.value, param_val, param.value_len); >> param.attr_id = saAmfCtDefClcCliTimeout_ID; >> avd_snd_op_req_msg(avd_cb, *it, ¶m); >> + } else if (!strcmp(attribute->attrName, >> "saAmfCtDefQuiescingCompleteTimeout")) { >> + SaTimeT *param_val = (SaTimeT >> *)attribute->attrValues[0]; >> + TRACE("saAmfCtDefQuiescingCompleteTimeout to >> '%llu' for compType '%s' on node '%s'", >> *param_val, >> + opdata->objectName.value, >> (*it)->name.value); >> + param.value_len = sizeof(*param_val); >> + memcpy(param.value, param_val, param.value_len); >> + param.attr_id = >> saAmfCtDefQuiescingCompleteTimeout_ID; >> + avd_snd_op_req_msg(avd_cb, *it, ¶m); >> } else if (!strcmp(attribute->attrName, >> "saAmfCtDefRecoveryOnError")) { >> SaAmfRecommendedRecoveryT *param_val = >> (SaAmfRecommendedRecoveryT *)attribute- >>> attrValues[0]; >> TRACE("saAmfCtDefRecoveryOnError to '%u' for >> compType '%s' on node '%s'", *param_val, >> @@ -464,6 +470,14 @@ static void ccb_apply_modify_hdlr(const >> memcpy(param.value, param_val, param.value_len); >> param.attr_id = saAmfCtDefRecoveryOnError_ID; >> avd_snd_op_req_msg(avd_cb, *it, ¶m); >> + } else if (!strcmp(attribute->attrName, >> "saAmfCtDefDisableRestart")) { >> + SaBoolT *param_val = (SaBoolT >> *)attribute->attrValues[0]; >> + TRACE("saAmfCtDefDisableRestart to '%u' for >> compType '%s' on node '%s'", *param_val, >> + opdata->objectName.value, >> (*it)->name.value); >> + param.value_len = sizeof(*param_val); >> + memcpy(param.value, param_val, param.value_len); >> + param.attr_id = saAmfCtDefDisableRestart_ID; >> + avd_snd_op_req_msg(avd_cb, *it, ¶m); >> } else >> LOG_WA("Unexpected attribute name: %s", >> attribute->attrName); >> } >> diff --git a/osaf/services/saf/amf/amfnd/compdb.cc >> b/osaf/services/saf/amf/amfnd/compdb.cc >> --- a/osaf/services/saf/amf/amfnd/compdb.cc >> +++ b/osaf/services/saf/amf/amfnd/compdb.cc >> @@ -896,7 +896,9 @@ uint32_t avnd_comptype_oper_req(AVND_CB >> const char* comp_type_name; >> SaTimeT saAmfCtDefCallbackTimeout = 0; >> SaTimeT saAmfCtDefClcCliTimeout = 0; >> - SaAmfRecommendedRecoveryT saAmfCtDefRecoveryOnError; >> + SaTimeT saAmfCtDefQuiescingCompleteTimeout = 0; >> + SaAmfRecommendedRecoveryT saAmfCtDefRecoveryOnError; >> + SaBoolT saAmfCtDefDisableRestart; >> >> TRACE_ENTER2("Op %u, %s", param->act, param->name.value); >> >> @@ -972,6 +974,14 @@ uint32_t avnd_comptype_oper_req(AVND_CB >> TRACE("cmd->timeout (AM Stop) >> modified to '%llu'", cmd->timeout); >> >> } >> break; >> + case saAmfCtDefQuiescingCompleteTimeout_ID: >> + saAmfCtDefQuiescingCompleteTimeout = >> *((SaTimeT *) param->value); >> + osafassert(sizeof(SaTimeT) == >> param->value_len); >> + if >> (comp->use_comptype_attr.test(DefQuiescingCompleteTimeout)) { >> + >> comp->quies_complete_cbk_timeout = saAmfCtDefQuiescingCompleteTimeout; >> + >> TRACE("comp->quies_complete_cbk_timeout modified to '%llu'", comp- >>> quies_complete_cbk_timeout); >> + } >> + break; >> case saAmfCtDefRecoveryOnError_ID: >> saAmfCtDefRecoveryOnError = >> *((SaAmfRecommendedRecoveryT *) param->value); >> >> osafassert(sizeof(SaAmfRecommendedRecoveryT) == param->value_len); >> @@ -980,6 +990,14 @@ uint32_t avnd_comptype_oper_req(AVND_CB >> TRACE("comp->err_info.def_rec >> modified to '%u'", comp->err_info.def_rec); >> >> } >> break; >> + case saAmfCtDefDisableRestart_ID: >> + saAmfCtDefDisableRestart = *((SaBoolT >> *) param->value); >> + osafassert(sizeof(SaBoolT) == >> param->value_len); >> + if >> (comp->use_comptype_attr.test(DefDisableRestart)) { >> + comp->is_restart_en = >> (saAmfCtDefDisableRestart == true) ? false : true; >> + TRACE("comp->is_restart_en >> modified to '%u'", comp->is_restart_en); >> + } >> + break; >> default: >> LOG_WA("Unexpected attribute id: %d", >> param->attr_id); >> } >> @@ -1547,8 +1565,10 @@ static int comp_init(AVND_COMP *comp, co >> comp->use_comptype_attr.set(CsiRemoveCallbackTimeout); >> >> if >> (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompQuiescingCompleteTimeout"), >> attributes, >> - 0, &comp->quies_complete_cbk_timeout) != SA_AIS_OK) >> + 0, &comp->quies_complete_cbk_timeout) != SA_AIS_OK) >> { >> comp->quies_complete_cbk_timeout = >> comptype->saAmfCompQuiescingCompleteTimeout; >> + comp->use_comptype_attr.set(DefQuiescingCompleteTimeout); >> + } >> >> if >> (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompRecoveryOnError"), >> attributes, 0, &comp->err_info.def_rec) >> != SA_AIS_OK) { >> comp->err_info.def_rec = comptype->saAmfCtDefRecoveryOnError; >> @@ -1561,8 +1581,10 @@ static int comp_init(AVND_COMP *comp, co >> } >> } >> >> - if >> (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompDisableRestart"), >> attributes, 0, &disable_restart) != >> SA_AIS_OK) >> + if >> (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompDisableRestart"), >> attributes, 0, &disable_restart) != >> SA_AIS_OK) { >> disable_restart = comptype->saAmfCtDefDisableRestart; >> + comp->use_comptype_attr.set(DefDisableRestart); >> + } >> >> comp->is_restart_en = (disable_restart == true) ? false : true; >> >> diff --git a/osaf/services/saf/amf/amfnd/include/avnd_comp.h >> b/osaf/services/saf/amf/amfnd/include/avnd_comp.h >> --- a/osaf/services/saf/amf/amfnd/include/avnd_comp.h >> +++ b/osaf/services/saf/amf/amfnd/include/avnd_comp.h >> @@ -293,6 +293,8 @@ enum UsedComptypeAttrs { >> CompAmStartTimeout, >> CompAmStopTimeout, >> DefRecoveryOnError, >> + DefDisableRestart, >> + DefQuiescingCompleteTimeout, > [Hans] indentation problem? > >> NumAttrs >> }; >>
------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel