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