This patch is used for adding controller_temperature_threshold and
alarm_controller_temperature to list. When a dimm-controller-temperature
event fires, users need to know the current controller temperature
threshold value.
Signed-off-by: QI Fuli <qi.fuli(a)jp.fujitsu.com>
---
ndctl/util/json-smart.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/ndctl/util/json-smart.c b/ndctl/util/json-smart.c
index 9482b35..6a1f294 100644
--- a/ndctl/util/json-smart.c
+++ b/ndctl/util/json-smart.c
@@ -47,6 +47,18 @@ static void smart_threshold_to_json(struct ndctl_dimm *dimm,
"temperature_threshold", jobj);
}
+ if (alarm_control & ND_SMART_CTEMP_TRIP) {
+ unsigned int temp;
+ double t;
+
+ temp = ndctl_cmd_smart_threshold_get_ctrl_temperature(cmd);
+ t = ndctl_decode_smart_temperature(temp);
+ jobj = json_object_new_double(t);
+ if (jobj)
+ json_object_object_add(jhealth,
+ "controller_temperature_threshold", jobj);
+ }
+
if (alarm_control & ND_SMART_SPARE_TRIP) {
unsigned int spares;
@@ -130,12 +142,17 @@ struct json_object *util_dimm_health_to_json(struct ndctl_dimm
*dimm)
if (flags & ND_SMART_ALARM_VALID) {
unsigned int alarm_flags = ndctl_cmd_smart_get_alarm_flags(cmd);
bool temp_flag = !!(alarm_flags & ND_SMART_TEMP_TRIP);
+ bool ctrl_temp_flag = !!(alarm_flags & ND_SMART_CTEMP_TRIP);
bool spares_flag = !!(alarm_flags & ND_SMART_SPARE_TRIP);
jobj = json_object_new_boolean(temp_flag);
if (jobj)
json_object_object_add(jhealth, "alarm_temperature", jobj);
+ jobj = json_object_new_boolean(ctrl_temp_flag);
+ if (jobj)
+ json_object_object_add(jhealth, "alarm_controller_temperature", jobj);
+
jobj = json_object_new_boolean(spares_flag);
if (jobj)
json_object_object_add(jhealth, "alarm_spares", jobj);
--
2.17.1
Show replies by thread