Revision d5ccec02 hspace.hs
b/hspace.hs | ||
---|---|---|
276 | 276 |
|
277 | 277 |
let bad_nodes = fst $ Cluster.computeBadItems nl il |
278 | 278 |
stop_allocation = length bad_nodes > 0 |
279 |
result_noalloc = ([(FailN1, 1)]::FailStats, nl, il, []) |
|
279 |
result_noalloc = ([(FailN1, 1)]::FailStats, nl, il, [], [])
|
|
280 | 280 |
|
281 | 281 |
-- utility functions |
282 | 282 |
let iofspec spx = Instance.create "new" (rspecMem spx) (rspecDsk spx) |
... | ... | |
295 | 295 |
(case optTieredSpec opts of |
296 | 296 |
Nothing -> return () |
297 | 297 |
Just tspec -> do |
298 |
(_, trl_nl, trl_il, trl_ixes) <- |
|
298 |
(_, trl_nl, trl_il, trl_ixes, _) <-
|
|
299 | 299 |
if stop_allocation |
300 | 300 |
then return result_noalloc |
301 | 301 |
else exitifbad (Cluster.tieredAlloc nl il (iofspec tspec) |
302 |
req_nodes []) |
|
302 |
req_nodes [] [])
|
|
303 | 303 |
let spec_map' = Cluster.tieredSpecMap trl_ixes |
304 | 304 |
|
305 | 305 |
printAllocationMap verbose "Tiered allocation map" trl_nl trl_ixes |
... | ... | |
316 | 316 |
|
317 | 317 |
-- Run the standard (avg-mode) allocation |
318 | 318 |
|
319 |
(ereason, fin_nl, fin_il, ixes) <- |
|
319 |
(ereason, fin_nl, fin_il, ixes, _) <-
|
|
320 | 320 |
if stop_allocation |
321 | 321 |
then return result_noalloc |
322 |
else exitifbad (Cluster.iterateAlloc nl il reqinst req_nodes []) |
|
322 |
else exitifbad (Cluster.iterateAlloc nl il reqinst req_nodes [] [])
|
|
323 | 323 |
|
324 | 324 |
let allocs = length ixes |
325 | 325 |
sreason = reverse $ sortBy (comparing snd) ereason |
Also available in: Unified diff