osd/OSDMap: require CRUSH_MSR if any rule is msr, even if used by no pool
OSDMap::get_features is used by
OSDMonitor::validate_crush_against_features via
OSDMap::get_min_compat_client() to check whether changes to the crushmap
will require newer features than the existing require_min_compat_client
field.
Monitor commands which create rules from ec profiles may result in msr
rules. While it might be harmless to allow msr rules to exist as long
as there aren't any pools actually using the rule, it's probably simpler
to disallow their creation in the first place until
require_min_compat_client is updated.
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit
2130115ec2252e37403a377c482e9599a5c81a66)
(cherry picked from commit
c275ad87e7a48bb68fa36991ed23e72898eeff9c)