ipmi_sensor_get_event_support(sensor));
/* Both `ignorelist' and `sensor_name_ptr' may be NULL. */
- if (ignorelist_match(st->ignorelist, sensor_name_ptr) != 0) {
- INFO("ipmi plugin: sensor_list_add: Ignore sensor `%s` of `%s`, "
- "because it is on ignore list.",
- sensor_name_ptr, st->name);
- return -1;
- }
+ if (ignorelist_match(st->ignorelist, sensor_name_ptr) != 0)
+ return 0;
/* FIXME: Use rate unit or base unit to scale the value */
ipmi_entity_t __attribute__((unused)) * entity,
ipmi_sensor_t *sensor, void *user_data) {
c_ipmi_instance_t *st = user_data;
- char sensor_name[DATA_MAX_NAME_LEN] = {0};
-
- sensor_get_name(sensor, sensor_name, sizeof(sensor_name));
- if (ignorelist_match(st->ignorelist, sensor_name) != 0)
- return; /* Ignore - sensor on ignore list */
if ((op == IPMI_ADDED) || (op == IPMI_CHANGED)) {
/* Will check for duplicate entries.. */
if (st->sel_enabled) {
int status = 0;
- /* register threshold event if threshold sensor support events */
- if ((ipmi_sensor_get_event_reading_type(sensor) ==
- IPMI_EVENT_READING_TYPE_THRESHOLD) &&
- (ipmi_sensor_get_threshold_access(sensor) !=
- IPMI_THRESHOLD_ACCESS_SUPPORT_NONE))
+ /* register threshold event handler */
+ if (ipmi_sensor_get_event_reading_type(sensor) ==
+ IPMI_EVENT_READING_TYPE_THRESHOLD)
status = ipmi_sensor_add_threshold_event_handler(
sensor, sensor_threshold_event_handler, st);
/* register discrete handler if discrete/specific sensor support events */
sensor, sensor_discrete_event_handler, st);
if (status) {
- ERROR("Unable to add sensor %s event handler, status: %d", sensor_name,
- status);
+ char buf[DATA_MAX_NAME_LEN] = {0};
+ sensor_get_name(sensor, buf, sizeof(buf));
+ ERROR("Unable to add sensor %s event handler, status: %d", buf, status);
}
}
} else if (op == IPMI_DELETED) {
for (int i = 0; i < ci->children_num; i++) {
oconfig_item_t *child = ci->children + i;
- if (strcasecmp("Sensor", child->key) == 0)
- ignorelist_add(st->ignorelist, child->values[0].value.string);
- else if (strcasecmp("IgnoreSelected", child->key) == 0) {
+ if (strcasecmp("Sensor", child->key) == 0) {
+ char *value = NULL;
+ status = cf_util_get_string(child, &value);
+ if (status != 0)
+ break;
+ ignorelist_add(st->ignorelist, value);
+ sfree(value);
+ } else if (strcasecmp("IgnoreSelected", child->key) == 0) {
_Bool t;
status = cf_util_get_boolean(child, &t);
if (status != 0)