Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
crush: fix fast rule lookup when uniform
Older clients will search for the first rule with a matching ruleset, type, and size. The has_uniform_rules bool is only set if we have rule ids and rulesets that line up, but we must also verify that the rest of the mask matches or else we can get a different CRUSH mapping result because the mask might not match and old clients will fail to find a rule and we will find one. We also can't just check the ruleset as the legacy clients find the *first* (of potentially many) matching rules; hence we only do the fast check if all rulesets == rule id. Signed-off-by: Sage Weil <[email protected]>
- Loading branch information