Nice work but same comment as for admin responses, you need a util function
that hides all this:
void ccbSetErrorString(handle, ccb, const char *format, ...);
right now you are replacing 1 line of code with 3, it does not have to be like
that...
Thanks,
Hans
On 10/11/2013 02:13 PM, Lennart Lund wrote:
> osaf/services/saf/logsv/lgs/lgs_imm.c | 231
> ++++++++++++++++++++++++++-------
> 1 files changed, 178 insertions(+), 53 deletions(-)
>
>
> Use CCB error strings instead of LOG_ER
>
> diff --git a/osaf/services/saf/logsv/lgs/lgs_imm.c
> b/osaf/services/saf/logsv/lgs/lgs_imm.c
> --- a/osaf/services/saf/logsv/lgs/lgs_imm.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_imm.c
> @@ -343,12 +343,15 @@ static SaAisErrorT ccbObjectDeleteCallba
> {
> SaAisErrorT rc = SA_AIS_OK;
> struct CcbUtilCcbData *ccbUtilCcbData;
> + char err_str[256];
>
> TRACE_ENTER2("CCB ID %llu, '%s'", ccbId, objectName->value);
>
> if ((ccbUtilCcbData = ccbutil_findCcbData(ccbId)) == NULL) {
> if ((ccbUtilCcbData = ccbutil_getCcbData(ccbId)) == NULL) {
> - LOG_ER("Failed to get CCB object for %llu", ccbId);
> + LOG_NO("Failed to get CCB object for %llu", ccbId);
> + (void) snprintf(err_str, 256, "Failed to get CCB object
> for %llu", ccbId);
> + (void) saImmOiCcbSetErrorString(immOiHandle, ccbId,
> err_str);
> rc = SA_AIS_ERR_NO_MEMORY;
> goto done;
> }
> @@ -367,13 +370,16 @@ static SaAisErrorT ccbObjectCreateCallba
> {
> SaAisErrorT rc = SA_AIS_OK;
> struct CcbUtilCcbData *ccbUtilCcbData;
> + char err_str[256];
>
> TRACE_ENTER2("CCB ID %llu, class '%s', parent '%s'",
> ccbId, className, parentName->value);
>
> if ((ccbUtilCcbData = ccbutil_findCcbData(ccbId)) == NULL) {
> if ((ccbUtilCcbData = ccbutil_getCcbData(ccbId)) == NULL) {
> - LOG_ER("Failed to get CCB object for %llu", ccbId);
> + LOG_NO("Failed to get CCB object for %llu", ccbId);
> + (void) snprintf(err_str, 256, "Failed to get CCB object
> for %llu", ccbId);
> + (void) saImmOiCcbSetErrorString(immOiHandle, ccbId,
> err_str);
> rc = SA_AIS_ERR_NO_MEMORY;
> goto done;
> }
> @@ -401,12 +407,15 @@ static SaAisErrorT ccbObjectModifyCallba
> {
> SaAisErrorT rc = SA_AIS_OK;
> struct CcbUtilCcbData *ccbUtilCcbData;
> + char err_str[256];
>
> TRACE_ENTER2("CCB ID %llu, '%s'", ccbId, objectName->value);
>
> if ((ccbUtilCcbData = ccbutil_findCcbData(ccbId)) == NULL) {
> if ((ccbUtilCcbData = ccbutil_getCcbData(ccbId)) == NULL) {
> - LOG_ER("Failed to get CCB objectfor %llu", ccbId);
> + LOG_NO("Failed to get CCB object for %llu", ccbId);
> + (void) snprintf(err_str, 256, "Failed to get CCB object
> for %llu", ccbId);
> + (void) saImmOiCcbSetErrorString(immOiHandle, ccbId,
> err_str);
> rc = SA_AIS_ERR_NO_MEMORY;
> goto done;
> }
> @@ -419,21 +428,41 @@ static SaAisErrorT ccbObjectModifyCallba
> return rc;
> }
>
> -static SaAisErrorT config_ccb_completed_create(const CcbUtilOperationData_t
> *opdata)
> +/**
> + * Creation of log service configuration object. Not allowed
> + *
> + * @param immOiHandle
> + * @param opdata
> + * @return
> + */
> +static SaAisErrorT config_ccb_completed_create(SaImmOiHandleT immOiHandle,
> + const CcbUtilOperationData_t *opdata)
> {
> SaAisErrorT rc = SA_AIS_ERR_BAD_OPERATION;
>
> TRACE_ENTER2("CCB ID %llu", opdata->ccbId);
> - LOG_NO("Creation of OpenSafLogConfig object is not supported");
> + TRACE("Creation of OpenSafLogConfig object is not allowed");
> + (void) saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId,
> + "Creation of OpenSafLogConfig object is not allowed");
> TRACE_LEAVE2("%u", rc);
> return rc;
> }
>
> -static SaAisErrorT config_ccb_completed_modify(const CcbUtilOperationData_t
> *opdata)
> +/**
> + * Modification of attributes in log service configuration object.
> + * Only logRootDirectory can be modified
> + *
> + * @param immOiHandle
> + * @param opdata
> + * @return
> + */
> +static SaAisErrorT config_ccb_completed_modify(SaImmOiHandleT immOiHandle,
> + const CcbUtilOperationData_t *opdata)
> {
> const SaImmAttrModificationT_2 *attrMod;
> SaAisErrorT rc = SA_AIS_OK;
> int i = 0;
> + char err_str[256];
>
> TRACE_ENTER2("CCB ID %llu, '%s'", opdata->ccbId,
> opdata->objectName.value);
>
> @@ -445,8 +474,11 @@ static SaAisErrorT config_ccb_completed_
> TRACE("attribute %s", attribute->attrName);
>
> if (attribute->attrValuesNumber == 0) {
> - LOG_NO("deletion of value is not allowed for attribute
> %s stream %s",
> + (void) snprintf(err_str, 256,
> + "deletion of value is not allowed for
> attribute %s stream %s",
> attribute->attrName,
> opdata->objectName.value);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_BAD_OPERATION;
> goto done;
> }
> @@ -456,45 +488,65 @@ static SaAisErrorT config_ccb_completed_
> if (!strcmp(attribute->attrName, "logRootDirectory")) {
> char *pathName = *((char **)value);
> if (!path_is_writeable_dir_h(pathName)) {
> - LOG_NO("pathName: %s is NOT accepted",
> pathName);
> + (void) snprintf(err_str,256,"pathName: %s is
> NOT accepted", pathName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_BAD_OPERATION;
> goto done;
> }
> TRACE("pathName: %s is accepted", pathName);
> } else if (!strcmp(attribute->attrName, "logMaxLogrecsize")) {
> - LOG_NO("%s cannot be changed", attribute->attrName);
> + (void) snprintf(err_str, 256, "%s cannot be changed",
> attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_FAILED_OPERATION;
> goto done;
> } else if (!strcmp(attribute->attrName,
> "logStreamSystemHighLimit")) {
> - LOG_NO("%s cannot be changed", attribute->attrName);
> + (void) snprintf(err_str, 256, "%s cannot be changed",
> attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_FAILED_OPERATION;
> goto done;
> } else if (!strcmp(attribute->attrName,
> "logStreamSystemLowLimit")) {
> - LOG_NO("%s cannot be changed", attribute->attrName);
> + (void) snprintf(err_str, 256, "%s cannot be changed",
> attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_FAILED_OPERATION;
> goto done;
> } else if (!strcmp(attribute->attrName,
> "logStreamAppHighLimit")) {
> - LOG_NO("%s cannot be changed", attribute->attrName);
> + (void) snprintf(err_str, 256, "%s cannot be changed",
> attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_FAILED_OPERATION;
> goto done;
> } else if (!strcmp(attribute->attrName,
> "logStreamAppLowLimit")) {
> - LOG_NO("%s cannot be changed", attribute->attrName);
> + (void) snprintf(err_str, 256, "%s cannot be changed",
> attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_FAILED_OPERATION;
> goto done;
> } else if (!strcmp(attribute->attrName,
> "logMaxApplicationStreams")) {
> - LOG_NO("%s cannot be changed", attribute->attrName);
> + (void) snprintf(err_str, 256, "%s cannot be changed",
> attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_FAILED_OPERATION;
> goto done;
> } else if (!strcmp(attribute->attrName, "logFileIoTimeout")) {
> - LOG_NO("%s cannot be changed", attribute->attrName);
> + (void) snprintf(err_str, 256, "%s cannot be changed",
> attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_FAILED_OPERATION;
> goto done;
> } else if (!strcmp(attribute->attrName,
> "logFileHdlRecoveryTimeoutS")) {
> - LOG_NO("%s cannot be changed", attribute->attrName);
> + (void) snprintf(err_str, 256, "%s cannot be changed",
> attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_FAILED_OPERATION;
> goto done;
> } else {
> - LOG_NO("attribute %s not recognized",
> attribute->attrName);
> + (void) snprintf(err_str, 256, "attribute %s not
> recognized", attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_FAILED_OPERATION;
> goto done;
> }
> @@ -507,17 +559,28 @@ done:
> return rc;
> }
>
> -static SaAisErrorT config_ccb_completed_delete(const CcbUtilOperationData_t
> *opdata)
> +/**
> + * Delete log service configuration object. Not allowed
> + *
> + * @param immOiHandle
> + * @param opdata
> + * @return
> + */
> +static SaAisErrorT config_ccb_completed_delete(SaImmOiHandleT immOiHandle,
> + const CcbUtilOperationData_t *opdata)
> {
> SaAisErrorT rc = SA_AIS_ERR_BAD_OPERATION;
>
> TRACE_ENTER2("CCB ID %llu", opdata->ccbId);
> - LOG_NO("Deletion of OpenSafLogConfig object is not supported");
> + TRACE("Deletion of OpenSafLogConfig object is not allowed");
> + (void) saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId,
> + "Deletion of OpenSafLogConfig object is not allowed");
> TRACE_LEAVE2("%u", rc);
> return rc;
> }
>
> -static SaAisErrorT config_ccb_completed(const CcbUtilOperationData_t *opdata)
> +static SaAisErrorT config_ccb_completed(SaImmOiHandleT immOiHandle,
> + const CcbUtilOperationData_t *opdata)
> {
> SaAisErrorT rc = SA_AIS_ERR_BAD_OPERATION;
>
> @@ -525,13 +588,13 @@ static SaAisErrorT config_ccb_completed(
>
> switch (opdata->operationType) {
> case CCBUTIL_CREATE:
> - rc = config_ccb_completed_create(opdata);
> + rc = config_ccb_completed_create(immOiHandle, opdata);
> break;
> case CCBUTIL_MODIFY:
> - rc = config_ccb_completed_modify(opdata);
> + rc = config_ccb_completed_modify(immOiHandle, opdata);
> break;
> case CCBUTIL_DELETE:
> - rc = config_ccb_completed_delete(opdata);
> + rc = config_ccb_completed_delete(immOiHandle, opdata);
> break;
> default:
> assert(0);
> @@ -548,7 +611,8 @@ static SaAisErrorT config_ccb_completed(
> *
> * @return SaAisErrorT
> */
> -static SaAisErrorT check_attr_validity(const struct CcbUtilOperationData
> *opdata)
> +static SaAisErrorT check_attr_validity(SaImmOiHandleT immOiHandle,
> + const struct CcbUtilOperationData *opdata)
> {
> SaAisErrorT rc = SA_AIS_OK;
> void *value;
> @@ -556,6 +620,7 @@ static SaAisErrorT check_attr_validity(c
> const SaImmAttrValuesT_2 *attribute;
> log_stream_t *stream = (opdata->operationType == CCBUTIL_CREATE) ? NULL
> : log_stream_get_by_name((char *)
> opdata->param.modify.objectName->value);
> + char err_str[256];
>
> TRACE_ENTER();
>
> @@ -579,7 +644,10 @@ static SaAisErrorT check_attr_validity(c
> if (!strcmp(attribute->attrName,
> "saLogStreamFileName")) {
> char *fileName = *((char **) value);
> if (lgs_check_path_exists_h(fileName) == 0) {
> - LOG_ER("File %s already exist",
> fileName);
> + (void) snprintf(err_str, 256,
> + "File %s already
> exist", fileName);
> + TRACE("%s", err_str);
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId, err_str);
> rc = SA_AIS_ERR_EXIST;
> }
> TRACE("fileName: %s", fileName);
> @@ -589,13 +657,21 @@ static SaAisErrorT check_attr_validity(c
> lgs_cb->logsv_root_dir,
> *((char **) value));
> if (n >= PATH_MAX) {
> - LOG_ER("Path > PATH_MAX");
> + TRACE("Path > PATH_MAX");
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId,
> + "Path > PATH_MAX");
> rc = SA_AIS_ERR_BAD_OPERATION;
> } else if
> (lgs_relative_path_check_ts(fileName)) {
> - LOG_ER("Path %s not valid", fileName);
> + (void) snprintf(err_str, 256,
> + "Path %s not valid",
> fileName);
> + TRACE("%s", err_str);
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId, err_str);
> rc = SA_AIS_ERR_INVALID_PARAM;
> } else if
> (lgs_check_path_exists_h(lgs_cb->logsv_root_dir) != 0) {
> - LOG_ER("Path %s does not exist",
> fileName);
> + (void) snprintf(err_str, 256,
> + "Path %s does not
> exist", fileName);
> + TRACE("%s", err_str);
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId, err_str);
> rc = SA_AIS_ERR_BAD_OPERATION;
> }
> TRACE("fileName: %s", fileName);
> @@ -605,7 +681,9 @@ static SaAisErrorT check_attr_validity(c
> if (maxLogFileSize > 0 &&
> stream != NULL &&
> maxLogFileSize <
> stream->fixedLogRecordSize) {
> - LOG_ER("maxLogFileSize out of range");
> + TRACE("maxLogFileSize out of range");
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId,
> + "maxLogFileSize out of
> range");
> rc = SA_AIS_ERR_BAD_OPERATION;
> }
> TRACE("maxLogFileSize: %llu", maxLogFileSize);
> @@ -614,7 +692,9 @@ static SaAisErrorT check_attr_validity(c
> if (stream != NULL &&
> stream->maxLogFileSize > 0 &&
> fixedLogRecordSize >
> stream->maxLogFileSize) {
> - LOG_ER("fixedLogRecordSize out of
> range");
> + TRACE("fixedLogRecordSize out of
> range");
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId,
> + "fixedLogRecordSize out
> of range");
> rc = SA_AIS_ERR_BAD_OPERATION;
> }
> TRACE("fixedLogRecordSize: %u",
> fixedLogRecordSize);
> @@ -622,26 +702,35 @@ static SaAisErrorT check_attr_validity(c
> SaLogFileFullActionT logFullAction =
> *((SaUint32T *) value);
> if ((logFullAction <
> SA_LOG_FILE_FULL_ACTION_WRAP) ||
> (logFullAction >
> SA_LOG_FILE_FULL_ACTION_ROTATE)) {
> - LOG_ER("logFullAction out of range");
> + TRACE("logFullAction out of range");
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId,
> + "logFullAction out of
> range");
> rc = SA_AIS_ERR_BAD_OPERATION;
> }
> if ((logFullAction ==
> SA_LOG_FILE_FULL_ACTION_WRAP) ||
> (logFullAction ==
> SA_LOG_FILE_FULL_ACTION_HALT)) {
> - LOG_ER("logFullAction:Current
> Implementation doesn't support Wrap and halt");
> + TRACE("logFullAction:Current
> Implementation doesn't support Wrap and halt");
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId,
> + "logFullAction:Current
> Implementation doesn't support Wrap and halt");
> rc = SA_AIS_ERR_NOT_SUPPORTED;
> }
> TRACE("logFullAction: %u", logFullAction);
> } else if (!strcmp(attribute->attrName,
> "saLogStreamLogFullHaltThreshold")) {
> SaUint32T logFullHaltThreshold = *((SaUint32T
> *) value);
> if (logFullHaltThreshold >= 100) {
> - LOG_ER("logFullHaltThreshold out of
> range");
> + TRACE("logFullHaltThreshold out of
> range");
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId,
> + "logFullHaltThreshold
> out of range");
> rc = SA_AIS_ERR_BAD_OPERATION;
> }
> TRACE("logFullHaltThreshold: %u",
> logFullHaltThreshold);
> } else if (!strcmp(attribute->attrName,
> "saLogStreamMaxFilesRotated")) {
> SaUint32T maxFilesRotated = *((SaUint32T *)
> value);
> if (maxFilesRotated < 1 || maxFilesRotated >
> 128) {
> - LOG_ER("Unreasonable maxFilesRotated:
> %x", maxFilesRotated);
> + (void) snprintf(err_str, 256,
> + "Unreasonable
> maxFilesRotated: %x", maxFilesRotated);
> + TRACE("%s", err_str);
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId, err_str);
> rc = SA_AIS_ERR_BAD_OPERATION;
> }
> TRACE("maxFilesRotated: %u", maxFilesRotated);
> @@ -652,7 +741,10 @@ static SaAisErrorT check_attr_validity(c
>
> if (opdata->operationType == CCBUTIL_CREATE) {
> if
> (!lgs_is_valid_format_expression(logFileFormat, STREAM_TYPE_APPLICATION,
> &dummy)) {
> - LOG_ER("Invalid logFileFormat:
> %s", logFileFormat);
> + (void) snprintf(err_str, 256,
> + "Invalid
> logFileFormat: %s", logFileFormat);
> + TRACE("%s", err_str);
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId, err_str);
> rc = SA_AIS_ERR_BAD_OPERATION;
> }
> }
> @@ -665,7 +757,10 @@ static SaAisErrorT check_attr_validity(c
> } else if (!strcmp(attribute->attrName,
> "saLogStreamSeverityFilter")) {
> SaUint32T severityFilter = *((SaUint32T *)
> value);
> if (severityFilter > 0x7f) {
> - LOG_ER("Invalid severity: %x",
> severityFilter);
> + (void) snprintf(err_str, 256,
> + "Invalid severity: %x",
> severityFilter);
> + TRACE("%s", err_str);
> + (void)
> saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId, err_str);
> rc = SA_AIS_ERR_BAD_OPERATION;
> }
> TRACE("severityFilter: %u", severityFilter);
> @@ -673,7 +768,10 @@ static SaAisErrorT check_attr_validity(c
> !strncmp(attribute->attrName, "safLg",
> 5)) {
> ;
> } else {
> - LOG_ER("invalid attribute %s",
> attribute->attrName);
> + (void) snprintf(err_str, 256,
> + "invalid attribute %s",
> attribute->attrName);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> rc = SA_AIS_ERR_BAD_OPERATION;
> }
> } else {
> @@ -689,29 +787,47 @@ static SaAisErrorT check_attr_validity(c
> return rc;
> }
>
> -static SaAisErrorT stream_ccb_completed_create(const CcbUtilOperationData_t
> *opdata)
> +/**
> + * Create a log stream configuration object
> + * @param immOiHandle
> + * @param opdata
> + * @return
> + */
> +static SaAisErrorT stream_ccb_completed_create(SaImmOiHandleT immOiHandle,
> const CcbUtilOperationData_t *opdata)
> {
> SaAisErrorT rc = SA_AIS_ERR_BAD_OPERATION;
>
> TRACE_ENTER2("CCB ID %llu", opdata->ccbId);
> - rc = check_attr_validity(opdata);
> + rc = check_attr_validity(immOiHandle, opdata);
> TRACE_LEAVE2("%u", rc);
> return rc;
> }
>
> -static SaAisErrorT stream_ccb_completed_modify(const CcbUtilOperationData_t
> *opdata)
> +/**
> + * Modify attributes in log stream configuration object
> + * @param opdata
> + * @return
> + */
> +static SaAisErrorT stream_ccb_completed_modify(SaImmOiHandleT immOiHandle,
> const CcbUtilOperationData_t *opdata)
> {
> SaAisErrorT rc;
>
> TRACE_ENTER2("CCB ID %llu, '%s'", opdata->ccbId,
> opdata->objectName.value);
> - rc = check_attr_validity(opdata);
> + rc = check_attr_validity(immOiHandle, opdata);
> TRACE_LEAVE2("rc = %u", rc);
> return rc;
> }
>
> -static SaAisErrorT stream_ccb_completed_delete(const CcbUtilOperationData_t
> *opdata)
> +/**
> + * Delete log stream configuration object
> + * @param immOiHandle
> + * @param opdata
> + * @return
> + */
> +static SaAisErrorT stream_ccb_completed_delete(SaImmOiHandleT immOiHandle,
> const CcbUtilOperationData_t *opdata)
> {
> SaAisErrorT rc = SA_AIS_ERR_BAD_OPERATION;
> + char err_str[256];
>
> TRACE_ENTER2("CCB ID %llu, '%s'", opdata->ccbId,
> opdata->objectName.value);
>
> @@ -720,18 +836,27 @@ static SaAisErrorT stream_ccb_completed_
>
> if (stream != NULL) {
> if (stream->streamId < 3) {
> - LOG_ER("Stream delete: well known stream '%s' cannot be
> deleted", name);
> + (void) snprintf(err_str, 256,
> + "Stream delete: well known stream '%s'
> cannot be deleted", name);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> goto done;
> }
>
> if (stream->numOpeners > 1) {
> - LOG_ER("Stream '%s' cannot be deleted: opened by %u
> clients", name, stream->numOpeners);
> + (void) snprintf(err_str, 256,
> + "Stream '%s' cannot be deleted: opened
> by %u clients", name,
> + stream->numOpeners);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle,
> opdata->ccbId, err_str);
> goto done;
> }
>
> rc = SA_AIS_OK;
> } else {
> - LOG_ER("stream %s not found", name);
> + (void) snprintf(err_str, 256, "stream %s not found", name);
> + TRACE("%s", err_str);
> + (void) saImmOiCcbSetErrorString(immOiHandle, opdata->ccbId,
> err_str);
> }
>
> done:
> @@ -739,7 +864,7 @@ done:
> return rc;
> }
>
> -static SaAisErrorT stream_ccb_completed(const CcbUtilOperationData_t *opdata)
> +static SaAisErrorT stream_ccb_completed(SaImmOiHandleT immOiHandle, const
> CcbUtilOperationData_t *opdata)
> {
> SaAisErrorT rc = SA_AIS_ERR_BAD_OPERATION;
>
> @@ -747,13 +872,13 @@ static SaAisErrorT stream_ccb_completed(
>
> switch (opdata->operationType) {
> case CCBUTIL_CREATE:
> - rc = stream_ccb_completed_create(opdata);
> + rc = stream_ccb_completed_create(immOiHandle, opdata);
> break;
> case CCBUTIL_MODIFY:
> - rc = stream_ccb_completed_modify(opdata);
> + rc = stream_ccb_completed_modify(immOiHandle, opdata);
> break;
> case CCBUTIL_DELETE:
> - rc = stream_ccb_completed_delete(opdata);
> + rc = stream_ccb_completed_delete(immOiHandle, opdata);
> break;
> default:
> assert(0);
> @@ -800,18 +925,18 @@ static SaAisErrorT ccbCompletedCallback(
> switch (opdata->operationType) {
> case CCBUTIL_CREATE:
> if (!strcmp(opdata->param.create.className,
> "OpenSafLogConfig"))
> - rc = config_ccb_completed(opdata);
> + rc = config_ccb_completed(immOiHandle, opdata);
> else if (!strcmp(opdata->param.create.className,
> "SaLogStreamConfig"))
> - rc = stream_ccb_completed(opdata);
> + rc = stream_ccb_completed(immOiHandle, opdata);
> else
> osafassert(0);
> break;
> case CCBUTIL_DELETE:
> case CCBUTIL_MODIFY:
> if (!strncmp((char*)opdata->objectName.value,
> "safLgStrCfg", 11)) {
> - rc = stream_ccb_completed(opdata);
> + rc = stream_ccb_completed(immOiHandle, opdata);
> } else {
> - rc = config_ccb_completed(opdata);
> + rc = config_ccb_completed(immOiHandle, opdata);
> }
> break;
> default:
>
>
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel