Revision dd69cd3c src/Ganeti/DataCollectors/Drbd.hs
b/src/Ganeti/DataCollectors/Drbd.hs | ||
---|---|---|
137 | 137 |
(code, strList) = foldr mergeStatuses (DCSCOk, [""]) statuses |
138 | 138 |
in DCStatus code $ intercalate "\n" strList |
139 | 139 |
|
140 |
-- | Helper function for merging statuses. |
|
141 |
mergeStatuses :: (DCStatusCode, String) -> (DCStatusCode, [String]) |
|
142 |
-> (DCStatusCode, [String]) |
|
143 |
mergeStatuses (newStat, newStr) (storedStat, storedStrs) = |
|
144 |
let resStat = max newStat storedStat |
|
145 |
resStrs = |
|
146 |
if newStr == "" |
|
147 |
then storedStrs |
|
148 |
else storedStrs ++ [newStr] |
|
149 |
in (resStat, resStrs) |
|
150 |
|
|
151 | 140 |
-- | Compute the status of a DRBD device and its error message. |
152 | 141 |
computeDevStatus :: DeviceInfo -> (DCStatusCode, String) |
153 | 142 |
computeDevStatus (UnconfiguredDevice _) = (DCSCOk, "") |
Also available in: Unified diff