]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd/OSDMap: require CRUSH_MSR if any rule is msr, even if used by no pool
authorSamuel Just <sjust@redhat.com>
Wed, 28 Aug 2024 01:54:04 +0000 (18:54 -0700)
committerLaura Flores <lflores@ibm.com>
Wed, 28 Aug 2024 21:15:07 +0000 (16:15 -0500)
commitc275ad87e7a48bb68fa36991ed23e72898eeff9c
tree079e6c074b253e8b4a68bb20529d58470a28948c
parentf79b799b138b7658a501f97211d4b570c0e6fae0
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)
src/osd/OSDMap.cc