ipmi plugin: Ignore events from ignored sensors
authorMariusz Szafranski <mariuszx.szafranski@intel.com>
Thu, 1 Mar 2018 12:08:47 +0000 (12:08 +0000)
committerMariusz Szafranski <mariuszx.szafranski@intel.com>
Thu, 1 Mar 2018 12:08:47 +0000 (12:08 +0000)
Reading is disabled for ignored sensors. This fix it to also
ignore events from s4ensors on ignore list.

Change-Id: I705593c79274a00456a786698452cd3c1bae9872
Signed-off-by: Mariusz Szafranski <mariuszx.szafranski@intel.com>
src/ipmi.c

index b110920..f64e617 100644 (file)
@@ -388,8 +388,12 @@ static int sensor_list_add(c_ipmi_instance_t *st, ipmi_sensor_t *sensor) {
         ipmi_sensor_get_event_support(sensor));
 
   /* Both `ignorelist' and `sensor_name_ptr' may be NULL. */
-  if (ignorelist_match(st->ignorelist, sensor_name_ptr) != 0)
-    return 0;
+  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;
+  }
 
   /* FIXME: Use rate unit or base unit to scale the value */
 
@@ -778,6 +782,11 @@ entity_sensor_update_handler(enum ipmi_update_e op,
                              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.. */
@@ -798,9 +807,8 @@ entity_sensor_update_handler(enum ipmi_update_e op,
             sensor, sensor_discrete_event_handler, st);
 
       if (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);
+        ERROR("Unable to add sensor %s event handler, status: %d", sensor_name,
+              status);
       }
     }
   } else if (op == IPMI_DELETED) {