Revision e7f7c003
b/htools/hbal.hs | ||
---|---|---|
77 | 77 |
, oMinGain |
78 | 78 |
, oMinGainLim |
79 | 79 |
, oDiskMoves |
80 |
, oInstMoves |
|
80 | 81 |
, oDynuFile |
81 | 82 |
, oExTags |
82 | 83 |
, oExInst |
... | ... | |
92 | 93 |
iterateDepth :: Cluster.Table -- ^ The starting table |
93 | 94 |
-> Int -- ^ Remaining length |
94 | 95 |
-> Bool -- ^ Allow disk moves |
96 |
-> Bool -- ^ Allow instance moves |
|
95 | 97 |
-> Int -- ^ Max node name len |
96 | 98 |
-> Int -- ^ Max instance name len |
97 | 99 |
-> [MoveJob] -- ^ Current command list |
... | ... | |
102 | 104 |
-> Bool -- ^ Enable evacuation mode |
103 | 105 |
-> IO (Cluster.Table, [MoveJob]) -- ^ The resulting table |
104 | 106 |
-- and commands |
105 |
iterateDepth ini_tbl max_rounds disk_moves nmlen imlen |
|
107 |
iterateDepth ini_tbl max_rounds disk_moves inst_moves nmlen imlen
|
|
106 | 108 |
cmd_strs oneline min_score mg_limit min_gain evac_mode = |
107 | 109 |
let Cluster.Table ini_nl ini_il _ _ = ini_tbl |
108 | 110 |
allowed_next = Cluster.doNextBalance ini_tbl max_rounds min_score |
... | ... | |
125 | 127 |
unless oneline $ do |
126 | 128 |
putStrLn sol_line |
127 | 129 |
hFlush stdout |
128 |
iterateDepth fin_tbl max_rounds disk_moves |
|
130 |
iterateDepth fin_tbl max_rounds disk_moves inst_moves
|
|
129 | 131 |
nmlen imlen upd_cmd_strs oneline min_score |
130 | 132 |
mg_limit min_gain evac_mode |
131 | 133 |
Nothing -> return (ini_tbl, cmd_strs) |
... | ... | |
357 | 359 |
|
358 | 360 |
(fin_tbl, cmd_strs) <- iterateDepth ini_tbl (optMaxLength opts) |
359 | 361 |
(optDiskMoves opts) |
362 |
(optInstMoves opts) |
|
360 | 363 |
nmlen imlen [] oneline min_cv |
361 | 364 |
(optMinGainLim opts) (optMinGain opts) |
362 | 365 |
(optEvacMode opts) |
Also available in: Unified diff