Hi Canh, Ack, with comment
I found one small thing you have to fix. See attached diff Thanks Lennart > -----Original Message----- > From: Canh Van Truong [mailto:[email protected]] > Sent: den 2 oktober 2017 09:28 > To: Lennart Lund <[email protected]>; Vu Minh Nguyen > <[email protected]> > Cc: [email protected]; Canh Van Truong > <[email protected]> > Subject: [PATCH 1/1] log: fix incorrect handling of version when initializing > OpenSAF APIs in log service [#2516] > > The version used when initializing the API is in many cases stored in a global > variable and this global variable is used every time the API is initialized. > The version is given as a pointer to this variable. The problem is that this > variable is defined as an [in/out] parameter that gives the version to use > when > initializing [in] but the value shall be changed by the agent to the highest > version supported by the initialized service [out]. This means that the next > time the API is initialized it may be initialized with a higher version. > > This patch help to fix that always initialize OpenSaf API with correct > version in > log service. > --- > src/log/apitest/imm_tstutil.c | 5 ++-- > src/log/apitest/logtest.c | 8 +++--- > src/log/apitest/logtest.h | 4 ++- > src/log/apitest/logtestfr.c | 12 +++++---- > src/log/apitest/logutil.c | 6 +++-- > src/log/apitest/tet_LogOiOps.c | 4 +-- > src/log/apitest/tet_Log_recov.c | 11 +++++--- > src/log/apitest/tet_log_longDN.c | 7 ++--- > src/log/apitest/tet_log_runtime_cfgobj.c | 3 +-- > src/log/apitest/tet_multiple_thread.c | 6 +++-- > src/log/apitest/tet_saLogFilterSetCallbackT.c | 8 ++++-- > src/log/apitest/tet_saLogInitialize.c | 38 > +++++++++++++++------------ > src/log/apitest/tet_saLogStreamOpen_2.c | 10 ++++--- > src/log/logd/lgs.h | 4 +++ > src/log/logd/lgs_amf.cc | 6 +---- > src/log/logd/lgs_clm.cc | 7 ++--- > src/log/logd/lgs_config.cc | 3 +-- > src/log/logd/lgs_imm.cc | 19 +++++++------- > src/log/logd/lgs_imm_gcfg.cc | 8 +++--- > src/log/tools/saf_logger.c | 10 ++++--- > 20 files changed, 102 insertions(+), 77 deletions(-) > > diff --git a/src/log/apitest/imm_tstutil.c b/src/log/apitest/imm_tstutil.c > index 723b9b522..f7849cd33 100644 > --- a/src/log/apitest/imm_tstutil.c > +++ b/src/log/apitest/imm_tstutil.c > @@ -22,7 +22,8 @@ > #include "base/saf_error.h" > #include "base/osaf_extended_name.h" > > -static SaVersionT immVersion = {'A', 2, 11}; > +const SaVersionT kImmVersion = {'A', 02, 11}; > + > > bool get_multivalue_type_string_from_imm(SaImmHandleT *omHandle, > SaConstStringT objectName, > @@ -41,7 +42,7 @@ bool > get_multivalue_type_string_from_imm(SaImmHandleT *omHandle, > /* Make sure this is a NULL pointer if no values are found */ > *multivalue_array = NULL; > > - om_rc = immutil_saImmOmInitialize(omHandle, NULL, > &immVersion); > + om_rc = immutil_saImmOmInitialize(omHandle, NULL, > &kImmVersion); > if (om_rc != SA_AIS_OK) { > printf("immutil_saImmOmInitialize Fail '%s'\n", > saf_error(om_rc)); > diff --git a/src/log/apitest/logtest.c b/src/log/apitest/logtest.c > index 256495726..897551bc4 100644 > --- a/src/log/apitest/logtest.c > +++ b/src/log/apitest/logtest.c > @@ -85,8 +85,6 @@ SaLogRecordT genLogRecord = { > .logHeader.genericHdr.logSvcUsrName = &logSvcUsrName, > .logBuffer = &genLogBuffer}; > > -SaVersionT logVersion = {'A', 0x02, 0x03}; > -SaVersionT immVersion = {'A', 2, 11}; > SaAisErrorT rc; > SaLogHandleT logHandle; > SaLogStreamHandleT logStreamHandle; > @@ -111,7 +109,7 @@ void init_logrootpath(void) > > saAisNameLend(config, &objectName); > /* NOTE: immutil init osaf_assert if error */ > - (void)immutil_saImmOmInitialize(&omHandle, NULL, &immVersion); > + (void)immutil_saImmOmInitialize(&omHandle, NULL, > &kImmVersion); > (void)immutil_saImmOmAccessorInitialize(omHandle, > &accessorHandle); > > /* Get all attributes of the object */ > @@ -147,7 +145,7 @@ int get_attr_value(SaNameT *inObjName, char > *inAttr, void *outValue) > int rc = 0; > > /* NOTE: immutil init osaf_assert if error */ > - (void)immutil_saImmOmInitialize(&omHandle, NULL, &immVersion); > + (void)immutil_saImmOmInitialize(&omHandle, NULL, > &kImmVersion); > (void)immutil_saImmOmAccessorInitialize(omHandle, > &accessorHandle); > > /* Get all attributes of the object */ > @@ -296,7 +294,7 @@ int get_active_sc(void) > saAisNameLend(objname, &objectName1); > /* NOTE: immutil init osaf_assert if error > */ > - (void)immutil_saImmOmInitialize(&omHandle, NULL, &immVersion); > + (void)immutil_saImmOmInitialize(&omHandle, NULL, > &kImmVersion); > (void)immutil_saImmOmAccessorInitialize(omHandle, > &accessorHandle); > > /* Get attributes of the object > diff --git a/src/log/apitest/logtest.h b/src/log/apitest/logtest.h > index 9b91871ed..68f9df608 100644 > --- a/src/log/apitest/logtest.h > +++ b/src/log/apitest/logtest.h > @@ -65,7 +65,6 @@ extern SaNameT notificationObject; > extern SaNameT configurationObject; > extern SaNameT saNameT_Object_256; > extern SaNameT saNameT_appstream_name_256; > -extern SaVersionT logVersion; > extern SaAisErrorT rc; > extern SaLogHandleT logHandle; > extern SaLogStreamHandleT logStreamHandle; > @@ -78,6 +77,9 @@ extern SaNameT logSvcUsrName; > extern SaLogRecordT genLogRecord; > extern char log_root_path[]; > > +const static SaVersionT kLogVersion = {'A', 0x02, 0x03}; > +const static SaVersionT kImmVersion = {'A', 02, 11}; > + > /* Vebose mode. If set some test cases will print extra information */ > bool verbose_flg; > void printf_v(const char *format, ...) __attribute__((format(printf, 1, 2))); > diff --git a/src/log/apitest/logtestfr.c b/src/log/apitest/logtestfr.c > index df5721181..799cad069 100644 > --- a/src/log/apitest/logtestfr.c > +++ b/src/log/apitest/logtestfr.c > @@ -41,8 +41,6 @@ > > /********************************************************** > ********************* > * Global variables and defines > */ > -static SaVersionT logVersion = {'A', 0x02, 0x03}; > -static SaVersionT immVersion = {'A', 2, 11}; > > static SaLogHandleT logHandle; > static SaLogStreamHandleT logStreamHandle; > @@ -61,6 +59,9 @@ const char logfile_path_str[] = "logtestfr_path"; > const SaUint32T logrec_max_size = 256; > const SaUint64T logfile_max_size = 256 * 10; > > +const SaVersionT kLogVersion = {'A', 0x02, 0x03}; > +const SaVersionT kImmVersion = {'A', 02, 11}; > + > #define STREAM_NAME_STR "safLgStr=logtestfr_stream" > #define IMMLIST_CMD "immlist safLgStr=logtestfr_stream" > #define LOGTEST_MSG "logtestfr test message" > @@ -94,7 +95,7 @@ static int get_active_sc(void) > > /* NOTE: immutil init osaf_assert if error > */ > - (void)immutil_saImmOmInitialize(&omHandle, NULL, &immVersion); > + (void)immutil_saImmOmInitialize(&omHandle, NULL, > &kImmVersion); > (void)immutil_saImmOmAccessorInitialize(omHandle, > &accessorHandle); > > /* Get attributes of the object > @@ -193,7 +194,7 @@ void get_logRootDirectory(char *path_str) > void *value; > > /* NOTE: immutil init osaf_assert if error */ > - (void)immutil_saImmOmInitialize(&omHandle, NULL, &immVersion); > + (void)immutil_saImmOmInitialize(&omHandle, NULL, > &kImmVersion); > (void)immutil_saImmOmAccessorInitialize(omHandle, > &accessorHandle); > > /* Get all attributes of the object */ > @@ -237,6 +238,7 @@ static int init_log_open_stream(SaAisErrorT *ais_rc) > { > int rc = 0; > int trycnt = 0; > + SaVersionT log_version = kLogVersion; > > /* Prepare callback */ > logCallbacks.saLogWriteLogCallback = log_write_callback; > @@ -245,7 +247,7 @@ static int init_log_open_stream(SaAisErrorT *ais_rc) > do { > /* Try again loop. If other error end loop */ > *ais_rc = > - saLogInitialize(&logHandle, &logCallbacks, &logVersion); > + saLogInitialize(&logHandle, &logCallbacks, &log_version); > if (*ais_rc != SA_AIS_ERR_TRY_AGAIN) { > break; > } > diff --git a/src/log/apitest/logutil.c b/src/log/apitest/logutil.c > index efc39204b..59d255515 100644 > --- a/src/log/apitest/logutil.c > +++ b/src/log/apitest/logutil.c > @@ -68,12 +68,14 @@ int systemCall(const char *command) > */ > SaAisErrorT logInitialize(void) > { > + SaVersionT log_version = kLogVersion; > SaAisErrorT rc = > - saLogInitialize(&logHandle, &logCallbacks, &logVersion); > + saLogInitialize(&logHandle, &logCallbacks, &log_version); > unsigned int nTries = 1; > while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < logProfile.nTries) { > usleep(logProfile.retryInterval * 1000); > - rc = saLogInitialize(&logHandle, &logCallbacks, &logVersion); > + log_version = kLogVersion; > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > nTries++; > } > > diff --git a/src/log/apitest/tet_LogOiOps.c b/src/log/apitest/tet_LogOiOps.c > index 7068b09d1..ba6fde6cc 100644 > --- a/src/log/apitest/tet_LogOiOps.c > +++ b/src/log/apitest/tet_LogOiOps.c > @@ -1443,11 +1443,11 @@ void saLogOi_50() > > static int get_filter_cnt_attr(const SaNameT *objName) > { > - SaVersionT immVersion = {'A', 2, 11}; > + SaVersionT imm_version = kImmVersion; > int filter_cnt = -1; > SaImmHandleT immOmHandle; > SaImmAccessorHandleT immAccHandle; > - saImmOmInitialize(&immOmHandle, NULL, &immVersion); > + saImmOmInitialize(&immOmHandle, NULL, &imm_version); > saImmOmAccessorInitialize(immOmHandle, &immAccHandle); > > SaImmAttrNameT fobj = {"logStreamDiscardedCounter"}; > diff --git a/src/log/apitest/tet_Log_recov.c b/src/log/apitest/tet_Log_recov.c > index 8b406872a..2a88d39ed 100644 > --- a/src/log/apitest/tet_Log_recov.c > +++ b/src/log/apitest/tet_Log_recov.c > @@ -328,7 +328,7 @@ done: > > /** > * Initialize the log API > - * For API version see GLOBAL logVersion > + * For API version see GLOBAL kLogVersion > * No callback > * > * @param logHandle [out] > @@ -339,6 +339,7 @@ static SaAisErrorT tst_LogInitialize(SaLogHandleT > *log_handle, int trycnt_max) > { > int trycnt = 0; > SaAisErrorT ais_rc = SA_AIS_OK; > + SaVersionT log_version = kLogVersion; > > /* Prepare callback */ > logCallbacks.saLogWriteLogCallback = log_write_callback; > @@ -348,7 +349,7 @@ static SaAisErrorT tst_LogInitialize(SaLogHandleT > *log_handle, int trycnt_max) > do { > /* Try again loop. If other error end loop */ > ais_rc = saLogInitialize(log_handle, &logCallbacks, > - &logVersion); > + &log_version); > if (ais_rc != SA_AIS_ERR_TRY_AGAIN) { > break; > } > @@ -357,10 +358,11 @@ static SaAisErrorT tst_LogInitialize(SaLogHandleT > *log_handle, int trycnt_max) > /* Give up try again */ > break; > } > + log_version = kLogVersion; > } while (ais_rc != SA_AIS_OK); > } else { > ais_rc = > - saLogInitialize(log_handle, &logCallbacks, &logVersion); > + saLogInitialize(log_handle, &logCallbacks, &log_version); > } > > return ais_rc; > @@ -1768,6 +1770,7 @@ void saLogRecov_openRtStream(void) > SaConstStringT data = "safLgStr=rtCleanup"; > saAisNameLend(data, &logStreamName); > SaLogFileCreateAttributesT_2 appLogFileCreateAttributes; > + SaVersionT log_version = kLogVersion; > > /* Cleanup the test directory */ > sprintf(command, "rm -rf %s/logtest_rtStream_cleanup", > log_root_path); > @@ -1786,7 +1789,7 @@ void saLogRecov_openRtStream(void) > appLogFileCreateAttributes.maxFilesRotated = 4; > appLogFileCreateAttributes.logFileFmt = NULL; > > - rc = saLogInitialize(&logHandleRecv, &logCallbacks, &logVersion); > + rc = saLogInitialize(&logHandleRecv, &logCallbacks, &log_version); > if (rc != SA_AIS_OK) { > fprintf(stderr, "Failed at saLogInitialize: %d\n ", (int)rc); > test_validate(rc, SA_AIS_OK); > diff --git a/src/log/apitest/tet_log_longDN.c > b/src/log/apitest/tet_log_longDN.c > index c6474f2e3..43ba88330 100644 > --- a/src/log/apitest/tet_log_longDN.c > +++ b/src/log/apitest/tet_log_longDN.c > @@ -84,7 +84,6 @@ static SaNameT notifyingObjLd; > static SaNameT logStreamNameLd; > static SaLogBufferT logBufferLd; > static SaNtfClassIdT notificationClassIdLd = {1, 2, 3}; > -static SaVersionT logVersionLd = {'A', 2, 3}; > static SaInvocationT invocationLd; > static SaAisErrorT errorLd; > > @@ -447,13 +446,15 @@ static SaAisErrorT initLog(void) > { > SaAisErrorT error; > unsigned int wait_time = 0; > + SaVersionT log_version = kLogVersion; > > - error = saLogInitialize(&logHandleLd, &logCallbacksLd, > &logVersionLd); > + error = saLogInitialize(&logHandleLd, &logCallbacksLd, &log_version); > while (error == SA_AIS_ERR_TRY_AGAIN && wait_time < > TEN_SECONDS) { > usleep(HUNDRED_MS); > wait_time += HUNDRED_MS; > + log_version = kLogVersion; > error = saLogInitialize(&logHandleLd, &logCallbacksLd, > - &logVersionLd); > + &log_version); > } > > return error; > diff --git a/src/log/apitest/tet_log_runtime_cfgobj.c > b/src/log/apitest/tet_log_runtime_cfgobj.c > index 0d7a682a3..047296cbb 100644 > --- a/src/log/apitest/tet_log_runtime_cfgobj.c > +++ b/src/log/apitest/tet_log_runtime_cfgobj.c > @@ -22,7 +22,6 @@ > #include "base/saf_error.h" > #include "osaf/immutil/immutil.h" > > -static SaVersionT immVersion = {'A', 2, 11}; > > /** > * Log configuration config obj <=> runtime obj > @@ -44,7 +43,7 @@ void log_rt_cf_obj_compare(void) > int tst_res = 0; /* Test result: 0 = PASS */ > > /* NOTE: immutil will osaf_assert if error */ > - (void)immutil_saImmOmInitialize(&omHandle, NULL, &immVersion); > + (void)immutil_saImmOmInitialize(&omHandle, NULL, > &kImmVersion); > (void)immutil_saImmOmAccessorInitialize(omHandle, > &accessorHandle); > > /* Count attributes in configuration object > diff --git a/src/log/apitest/tet_multiple_thread.c > b/src/log/apitest/tet_multiple_thread.c > index b45b5739b..a41185e0f 100644 > --- a/src/log/apitest/tet_multiple_thread.c > +++ b/src/log/apitest/tet_multiple_thread.c > @@ -156,12 +156,14 @@ void *create_and_close_log_handle(void > *thread_num) > { > SaAisErrorT rc_me = SA_AIS_OK; > unsigned int nTries = 1; > + SaVersionT log_version = kLogVersion; > > - rc_me = saLogInitialize(&logHandle_me, &logCallbacks, &logVersion); > + rc_me = saLogInitialize(&logHandle_me, &logCallbacks, > &log_version); > while (rc_me == SA_AIS_ERR_TRY_AGAIN && nTries < 50) { > usleep(100 * 1000); > + log_version = kLogVersion; > rc_me = > - saLogInitialize(&logHandle_me, &logCallbacks, > &logVersion); > + saLogInitialize(&logHandle_me, &logCallbacks, > &log_version); > nTries++; > } > if (rc_me != SA_AIS_OK) { > diff --git a/src/log/apitest/tet_saLogFilterSetCallbackT.c > b/src/log/apitest/tet_saLogFilterSetCallbackT.c > index 61ee89cd0..5c0408e35 100644 > --- a/src/log/apitest/tet_saLogFilterSetCallbackT.c > +++ b/src/log/apitest/tet_saLogFilterSetCallbackT.c > @@ -191,9 +191,10 @@ void saLogFilterSetCallbackT_03(void) > const unsigned int serverity_filter[2] = {7, 15}; > SaUint32T v_saLogStreamSeverityFilter = 127; > SaLogStreamHandleT logStreamHandle[2]; > + SaVersionT log_version = kLogVersion; > > logCallbacks.saLogFilterSetCallback = logFilterSetCallbackT; > - rc = saLogInitialize(&logHandle, &logCallbacks, &logVersion); > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > if (rc != SA_AIS_OK) { > test_validate(rc, SA_AIS_OK); > return; > @@ -305,10 +306,13 @@ void saLogFilterSetCallbackT_04(void) > SaLogStreamHandleT logStreamHandle[MAX_CLIENTS]; > SaLogHandleT logHandle[MAX_CLIENTS]; > SaSelectionObjectT selectionObject[MAX_CLIENTS]; > + SaVersionT log_version; > > logCallbacks.saLogFilterSetCallback = logFilterSetCallbackT; > for (int i = 0; i < MAX_CLIENTS; i++) { > - rc = saLogInitialize(&logHandle[i], &logCallbacks, > &logVersion); > + log_version = kLogVersion; > + rc = > + saLogInitialize(&logHandle[i], &logCallbacks, &log_version); > if (rc != SA_AIS_OK) { > test_validate(rc, SA_AIS_OK); > return; > diff --git a/src/log/apitest/tet_saLogInitialize.c > b/src/log/apitest/tet_saLogInitialize.c > index c37c078d0..3d31c8e21 100644 > --- a/src/log/apitest/tet_saLogInitialize.c > +++ b/src/log/apitest/tet_saLogInitialize.c > @@ -20,20 +20,23 @@ > > void saLogInitialize_01(void) > { > - rc = saLogInitialize(&logHandle, &logCallbacks, &logVersion); > + SaVersionT log_version = kLogVersion; > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > logFinalize(); > test_validate(rc, SA_AIS_OK); > } > > void saLogInitialize_02(void) > { > - rc = saLogInitialize(NULL, &logCallbacks, &logVersion); > + SaVersionT log_version = kLogVersion; > + rc = saLogInitialize(NULL, &logCallbacks, &log_version); > test_validate(rc, SA_AIS_ERR_INVALID_PARAM); > } > > void saLogInitialize_03(void) > { > - rc = saLogInitialize(&logHandle, NULL, &logVersion); > + SaVersionT log_version = kLogVersion; > + rc = saLogInitialize(&logHandle, NULL, &log_version); > logFinalize(); > test_validate(rc, SA_AIS_OK); > } > @@ -46,49 +49,50 @@ void saLogInitialize_04(void) > > void saLogInitialize_05(void) > { > - rc = saLogInitialize(0, &logCallbacks, &logVersion); > + SaVersionT log_version = kLogVersion; > + rc = saLogInitialize(0, &logCallbacks, &log_version); > test_validate(rc, SA_AIS_ERR_INVALID_PARAM); > } > > void saLogInitialize_06(void) > { > - SaVersionT version = {0, 0, 0}; > + SaVersionT log_version = {0, 0, 0}; > > - rc = saLogInitialize(&logHandle, &logCallbacks, &version); > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > test_validate(rc, SA_AIS_ERR_VERSION); > } > > void saLogInitialize_07(void) > { > - SaVersionT version = {'B', 1, 1}; > + SaVersionT log_version = {'B', 1, 1}; > > - rc = saLogInitialize(&logHandle, &logCallbacks, &version); > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > test_validate(rc, SA_AIS_ERR_VERSION); > } > > void saLogInitialize_08(void) > { > - SaVersionT version = {'A', 2, 1}; > + SaVersionT log_version = {'A', 2, 1}; > > - rc = saLogInitialize(&logHandle, &logCallbacks, &version); > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > logFinalize(); > test_validate(rc, SA_AIS_OK); > } > > void saLogInitialize_09(void) > { > - SaVersionT version = {'A', 3, 0}; > + SaVersionT log_version = {'A', 3, 0}; > > - rc = saLogInitialize(&logHandle, &logCallbacks, &version); > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > test_validate(rc, SA_AIS_ERR_VERSION); > } > > void saLogInitialize_10(void) > { > - SaVersionT version = logVersion; > + SaVersionT log_version = kLogVersion; > > - version.minorVersion = logVersion.minorVersion + 1; > - rc = saLogInitialize(&logHandle, &logCallbacks, &version); > + log_version.minorVersion += 1; > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > logFinalize(); > > test_validate(rc, SA_AIS_ERR_VERSION); > @@ -96,9 +100,9 @@ void saLogInitialize_10(void) > > void saLogInitialize_11(void) > { > - SaVersionT version = {'A', 2}; > + SaVersionT log_version = {'A', 2}; > > - rc = saLogInitialize(&logHandle, &logCallbacks, &version); > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > logFinalize(); > > test_validate(rc, SA_AIS_OK); > diff --git a/src/log/apitest/tet_saLogStreamOpen_2.c > b/src/log/apitest/tet_saLogStreamOpen_2.c > index 42e0e70c9..779cbd5cf 100644 > --- a/src/log/apitest/tet_saLogStreamOpen_2.c > +++ b/src/log/apitest/tet_saLogStreamOpen_2.c > @@ -859,11 +859,13 @@ void *saLogInitialize_1(void *arg) > SaLogStreamHandleT logStreamHandle1; > SaLogHandleT logHandle1; > int time_wait = 10*1000; // Wait for timeout is 10 seconds > + SaVersionT log_version; > > struct timespec timeout_time; > osaf_set_millis_timeout(time_wait, &timeout_time); > while (!osaf_is_timeout(&timeout_time)) { > - *rt = saLogInitialize(&logHandle1, &logCallbacks, > &logVersion); > + log_version = kLogVersion; > + *rt = saLogInitialize(&logHandle1, &logCallbacks, > &log_version); > if (*rt != SA_AIS_ERR_TRY_AGAIN) > break; > osaf_nanosleep(&kHundredMilliseconds); > @@ -995,9 +997,10 @@ void saLogStreamOpen_BadOp(void) > SaAisErrorT rc; > char command[1000]; > int loop; > + SaVersionT log_version = kLogVersion; > > cond_check(); > - rc = saLogInitialize(&logHandle, &logCallbacks, &logVersion); > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > if (rc != SA_AIS_OK) { > fprintf(stderr, "Failed at saLogInitialize: %d \n", (int)rc); > test_validate(rc, SA_AIS_OK); > @@ -1048,9 +1051,10 @@ void saLogStreamClose_BadOp(void) > SaAisErrorT rc; > char command[1000]; > int loop; > + SaVersionT log_version = kLogVersion; > > cond_check(); > - rc = saLogInitialize(&logHandle, &logCallbacks, &logVersion); > + rc = saLogInitialize(&logHandle, &logCallbacks, &log_version); > if (rc != SA_AIS_OK) { > fprintf(stderr, "Failed at saLogInitialize: %d \n", (int)rc); > test_validate(rc, SA_AIS_OK); > diff --git a/src/log/logd/lgs.h b/src/log/logd/lgs.h > index 8e1e4efa3..18e6d9281 100644 > --- a/src/log/logd/lgs.h > +++ b/src/log/logd/lgs.h > @@ -80,6 +80,10 @@ > 2 /* Store logs on local file system on \ > each node */ > > +const SaVersionT kAmfVersion = {'B', 0x01, 0x01}; > +const SaVersionT kClmVersion = {'B', 0x04, 0x01}; > +const SaVersionT kImmVersion = {'A', 0x02, 0x0B}; > + > /* > ========================================================== > ============== > * DATA DECLARATIONS > * > ========================================================== > ============== > diff --git a/src/log/logd/lgs_amf.cc b/src/log/logd/lgs_amf.cc > index d62be99a2..6fa044ff2 100644 > --- a/src/log/logd/lgs_amf.cc > +++ b/src/log/logd/lgs_amf.cc > @@ -438,7 +438,7 @@ static SaAisErrorT amf_healthcheck_start(lgs_cb_t > *lgs_cb) { > > ********************************************************** > ****************/ > SaAisErrorT lgs_amf_init(lgs_cb_t *cb) { > SaAmfCallbacksT amfCallbacks; > - SaVersionT amf_version; > + SaVersionT amf_version = kAmfVersion; > SaAisErrorT error; > > TRACE_ENTER(); > @@ -457,10 +457,6 @@ SaAisErrorT lgs_amf_init(lgs_cb_t *cb) { > amfCallbacks.saAmfComponentTerminateCallback = > amf_comp_terminate_callback; > amfCallbacks.saAmfCSIRemoveCallback = amf_csi_rmv_callback; > > - amf_version.releaseCode = 'B'; > - amf_version.majorVersion = 0x01; > - amf_version.minorVersion = 0x01; > - > /* Initialize the AMF library */ > error = saAmfInitialize(&cb->amf_hdl, &amfCallbacks, &amf_version); > if (error != SA_AIS_OK) { > diff --git a/src/log/logd/lgs_clm.cc b/src/log/logd/lgs_clm.cc > index 87aba0e47..51e07789a 100644 > --- a/src/log/logd/lgs_clm.cc > +++ b/src/log/logd/lgs_clm.cc > @@ -330,13 +330,13 @@ static const SaClmCallbacksT_4 clm_callbacks = {0, > lgs_clm_track_cbk}; > * @return SaAisErrorT > */ > void *lgs_clm_init_thread(void *cb) { > - static SaVersionT clmVersion = {'B', 0x04, 0x01}; > lgs_cb_t *_lgs_cb = reinterpret_cast<lgs_cb_t *>(cb); > SaAisErrorT rc; > > TRACE_ENTER(); > > - rc = saClmInitialize_4(&_lgs_cb->clm_hdl, &clm_callbacks, &clmVersion); > + SaVersionT clm_version = kClmVersion; > + rc = saClmInitialize_4(&_lgs_cb->clm_hdl, &clm_callbacks, &clm_version); > while ((rc == SA_AIS_ERR_TRY_AGAIN) || (rc == SA_AIS_ERR_TIMEOUT) || > (rc == SA_AIS_ERR_UNAVAILABLE)) { > if (_lgs_cb->clm_hdl != 0) { > @@ -345,7 +345,8 @@ void *lgs_clm_init_thread(void *cb) { > } > > base::Sleep(base::kOneHundredMilliseconds); > - rc = saClmInitialize_4(&_lgs_cb->clm_hdl, &clm_callbacks, &clmVersion); > + clm_version = kClmVersion; > + rc = saClmInitialize_4(&_lgs_cb->clm_hdl, &clm_callbacks, &clm_version); > } > if (rc != SA_AIS_OK) { > LOG_ER("saClmInitialize failed with error: %d", rc); > diff --git a/src/log/logd/lgs_config.cc b/src/log/logd/lgs_config.cc > index aec7204f6..89600adfa 100644 > --- a/src/log/logd/lgs_config.cc > +++ b/src/log/logd/lgs_config.cc > @@ -42,7 +42,6 @@ > #include "log/logd/lgs.h" > #include "log/logd/lgs_common.h" > > -static SaVersionT immVersion = {'A', 2, 11}; > > /* Mutex for making read and write of configuration data thread safe */ > pthread_mutex_t lgs_config_data_mutex = PTHREAD_MUTEX_INITIALIZER; > @@ -983,7 +982,7 @@ static void read_logsv_config_obj_2() { > > /* NOTE: immutil init will osaf_assert if error */ > SaAisErrorT om_rc = > - immutil_saImmOmInitialize(&omHandle, nullptr, &immVersion); > + immutil_saImmOmInitialize(&omHandle, nullptr, &kImmVersion); > if (om_rc != SA_AIS_OK) { > LOG_ER("immutil_saImmOmInitialize failed: %s", saf_error(om_rc)); > osaf_abort(0); > diff --git a/src/log/logd/lgs_imm.cc b/src/log/logd/lgs_imm.cc > index 605024fb7..a4d8f0fce 100644 > --- a/src/log/logd/lgs_imm.cc > +++ b/src/log/logd/lgs_imm.cc > @@ -75,8 +75,6 @@ static const char *log_file_format[] = { > DEFAULT_ALM_NOT_FORMAT_EXP, DEFAULT_ALM_NOT_FORMAT_EXP, > DEFAULT_APP_SYS_FORMAT_EXP, DEFAULT_APP_SYS_FORMAT_EXP}; > > -static SaVersionT immVersion = {'A', 2, 11}; > - > static const SaImmOiImplementerNameT implementerName = > const_cast<SaImmOiImplementerNameT>("safLogService"); > static const SaImmClassNameT logConfig_str = > @@ -977,7 +975,7 @@ static lgs_stream_defval_t > *get_SaLogStreamConfig_default() { > * We are only interested in saLogStreamMaxLogFileSize and > * saLogStreamFixedLogRecordSize > */ > - rc = immutil_saImmOmInitialize(&om_handle, NULL, &immVersion); > + rc = immutil_saImmOmInitialize(&om_handle, NULL, &kImmVersion); > if (rc != SA_AIS_OK) { > TRACE("immutil_saImmOmInitialize fail rc=%d", rc); > } > @@ -2884,7 +2882,6 @@ SaAisErrorT lgs_imm_init_configStreams(lgs_cb_t > *cb) { > int int_rc = 0; > log_stream_t *stream; > SaImmHandleT omHandle; > - SaVersionT immVersion = {'A', 2, 1}; > SaImmSearchHandleT immSearchHandle; > SaImmSearchParametersT_2 objectSearch; > SaImmAttrValuesT_2 **attributes; > @@ -2897,7 +2894,7 @@ SaAisErrorT lgs_imm_init_configStreams(lgs_cb_t > *cb) { > SaBoolT endloop = SA_FALSE, jstart = SA_TRUE; > TRACE_ENTER(); > > - om_rc = immutil_saImmOmInitialize(&omHandle, NULL, &immVersion); > + om_rc = immutil_saImmOmInitialize(&omHandle, NULL, &kImmVersion); > if (om_rc != SA_AIS_OK) { > LOG_ER("immutil_saImmOmInitialize failed %s", saf_error(om_rc)); > osaf_abort(0); > @@ -3042,12 +3039,14 @@ void lgs_imm_init_OI_handle(SaImmOiHandleT > *immOiHandle, > TRACE_ENTER(); > > /* Initialize IMM OI service */ > - rc = saImmOiInitialize_2(immOiHandle, &callbacks, &immVersion); > + SaVersionT imm_version = kImmVersion; > + rc = saImmOiInitialize_2(immOiHandle, &callbacks, &imm_version); > while ((rc == SA_AIS_ERR_TRY_AGAIN) && > (msecs_waited < max_waiting_time_60s)) { > usleep(sleep_delay_ms * 1000); > msecs_waited += sleep_delay_ms; > - rc = saImmOiInitialize_2(immOiHandle, &callbacks, &immVersion); > + imm_version = kImmVersion; > + rc = saImmOiInitialize_2(immOiHandle, &callbacks, &imm_version); > } > if (rc != SA_AIS_OK) { > lgs_exit("saImmOiInitialize_2 failed", SA_AMF_COMPONENT_RESTART); > @@ -3294,7 +3293,7 @@ void lgs_search_stream_objects() { > > /* Intialize Om API > */ > - ais_rc = immutil_saImmOmInitialize(&immOmHandle, NULL, > &immVersion); > + ais_rc = immutil_saImmOmInitialize(&immOmHandle, NULL, > &kImmVersion); > if (ais_rc != SA_AIS_OK) { > LOG_WA("%s saImmOmInitialize FAIL %d", __FUNCTION__, ais_rc); > goto done; > @@ -3482,7 +3481,7 @@ int lgs_get_streamobj_attr(SaImmAttrValuesT_2 > ***attrib_out, > > /* Initialize Om API > */ > - ais_rc = immutil_saImmOmInitialize(immOmHandle, NULL, &immVersion); > + ais_rc = immutil_saImmOmInitialize(immOmHandle, NULL, > &kImmVersion); > if (ais_rc != SA_AIS_OK) { > LOG_WA("\t%s saImmOmInitialize FAIL %d", __FUNCTION__, ais_rc); > rc = -1; > @@ -3578,7 +3577,7 @@ SaUint32T > *lgs_get_scAbsenceAllowed_attr(SaUint32T *attr_val) { > > /* Initialize Om API > */ > - ais_rc = immutil_saImmOmInitialize(&immOmHandle, NULL, > &immVersion); > + ais_rc = immutil_saImmOmInitialize(&immOmHandle, NULL, > &kImmVersion); > if (ais_rc != SA_AIS_OK) { > LOG_WA("\t%s saImmOmInitialize FAIL %d", __FUNCTION__, ais_rc); > goto done; > diff --git a/src/log/logd/lgs_imm_gcfg.cc b/src/log/logd/lgs_imm_gcfg.cc > index 4c6b91f28..f7d59d17e 100644 > --- a/src/log/logd/lgs_imm_gcfg.cc > +++ b/src/log/logd/lgs_imm_gcfg.cc > @@ -27,6 +27,7 @@ > #include "base/logtrace.h" > #include <saImmOi.h> > #include <saImmOm.h> > +#include "log/logd/lgs.h" > #include "osaf/immutil/immutil.h" > #include "base/osaf_time.h" > #include "base/osaf_poll.h" > @@ -74,8 +75,6 @@ static const SaImmClassNameT gcfg_class = > const_cast<SaImmClassNameT>("OpensafConfig"); > static const SaImmOiImplementerNameT applier_name = > const_cast<SaImmOiImplementerNameT>("@safLogService_appl"); > -/* IMM handling */ > -static SaVersionT immVersion = {'A', 2, 11}; > > /* Network name handling */ > static char *network_name = NULL; /* Save pointer to current name */ > @@ -573,6 +572,7 @@ static int read_network_name() { > SaImmAttrValuesT_2 **attributes; > SaImmAttrValuesT_2 *attribute; > void *value = NULL; > + > /* Setup search initialize parameters */ > SaImmSearchHandleT searchHandle; > SaImmSearchParametersT_2 searchParam; > @@ -589,7 +589,7 @@ static int read_network_name() { > /* > * Initialize an IMM object manager > */ > - ais_rc = immutil_saImmOmInitialize(&om_handle, NULL, &immVersion); > + ais_rc = immutil_saImmOmInitialize(&om_handle, NULL, &kImmVersion); > if (ais_rc != SA_AIS_OK) { > TRACE("immutil_saImmOmInitialize FAIL %s", saf_error(ais_rc)); > rc = -1; > @@ -705,7 +705,7 @@ static int applier_init(SaImmOiHandleT > *imm_appl_hdl, > } > > /* Initialize OI for applier and get OI handle */ > - ais_rc = immutil_saImmOiInitialize_2(imm_appl_hdl, &callbacks, > &immVersion); > + ais_rc = immutil_saImmOiInitialize_2(imm_appl_hdl, &callbacks, > &kImmVersion); > if (ais_rc != SA_AIS_OK) { > LOG_WA("immutil_saImmOiInitialize_2 Failed %s", saf_error(ais_rc)); > rc = -1; > diff --git a/src/log/tools/saf_logger.c b/src/log/tools/saf_logger.c > index 1b898d06e..05b1fcf56 100644 > --- a/src/log/tools/saf_logger.c > +++ b/src/log/tools/saf_logger.c > @@ -59,12 +59,13 @@ > static void logWriteLogCallbackT(SaInvocationT invocation, SaAisErrorT > error); > > static SaLogCallbacksT logCallbacks = {0, 0, logWriteLogCallbackT}; > -static SaVersionT logVersion = {'A', 2, 3}; > > static char *progname = "saflogger"; > static SaInvocationT cb_invocation; > static SaAisErrorT cb_error; > > +const SaVersionT kLogVersion = {'A', 2, 3}; > + > static SaTimeT get_current_SaTime(void) > { > struct timeval tv; > @@ -461,11 +462,14 @@ int main(int argc, char *argv[]) > } > > wait_time = 0; > - error = saLogInitialize(&logHandle, &logCallbacks, &logVersion); > + SaVersionT log_version = kLogVersion; > + error = saLogInitialize(&logHandle, &logCallbacks, &log_version); > while (error == SA_AIS_ERR_TRY_AGAIN && wait_time < > TEN_SECONDS) { > usleep(HUNDRED_MS); > wait_time += HUNDRED_MS; > - error = saLogInitialize(&logHandle, &logCallbacks, > &logVersion); > + log_version = kLogVersion; > + error = > + saLogInitialize(&logHandle, &logCallbacks, &log_version); > } > > if (error != SA_AIS_OK) { > -- > 2.13.0
log_2516_review_comments1.diff
Description: log_2516_review_comments1.diff
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
