提交 e11b05d3 编写于 作者: S Sage Weil

crush: fix force for non-root TAKE

Signed-off-by: NSage Weil <sage@newdream.net>
上级 3d8eb7a9
...@@ -510,10 +510,15 @@ int crush_do_rule(struct crush_map *map, ...@@ -510,10 +510,15 @@ int crush_do_rule(struct crush_map *map,
switch (rule->steps[step].op) { switch (rule->steps[step].op) {
case CRUSH_RULE_TAKE: case CRUSH_RULE_TAKE:
w[0] = rule->steps[step].arg1; w[0] = rule->steps[step].arg1;
if (force_pos >= 0) {
BUG_ON(force_context[force_pos] != w[0]); /* find position in force_context/hierarchy */
while (force_pos >= 0 &&
force_context[force_pos] != w[0])
force_pos--; force_pos--;
} /* and move past it */
if (force_pos >= 0)
force_pos--;
wsize = 1; wsize = 1;
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册