]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: use CEPH_FEATUREMASK_CRUSH_MSR, not CEPH_FEATURE_CRUSH_MSR
authorSamuel Just <sjust@redhat.com>
Wed, 28 Aug 2024 02:09:40 +0000 (02:09 +0000)
committerLaura Flores <lflores@ibm.com>
Thu, 5 Sep 2024 17:29:37 +0000 (12:29 -0500)
This was simply a mistake:

uint64_t features = 0;
features |= CEPH_FEATURE_CRUSH_MSR;
ceph_assert(HAVE_FEATURE(features, CRUSH_MSR));

will fail the assert as CEPH_FEATURE_CRUSH_MSR lacks the mask.  In
basically all cases, CEPH_FEATUREMASK_* is the correct choice.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit cb157b45c713e76ec95d8b80548998587e02a758)
(cherry picked from commit 148c572f067f5be315c50c25d78cd9482c754fda)

src/common/ceph_strings.cc
src/include/ceph_features.h
src/osd/OSDMap.cc

index 6f45999eafb72d9690e7e12fba286063f16de8cf..6204a9ca3b8931fa10810076218e0c9258ea7f24 100644 (file)
@@ -160,7 +160,7 @@ uint64_t ceph_release_features(int r)
        if (r <= CEPH_RELEASE_REEF)
                return req;
 
-       req |= CEPH_FEATURE_CRUSH_MSR;
+       req |= CEPH_FEATUREMASK_CRUSH_MSR;
        if (r <= CEPH_RELEASE_SQUID)
                return req;
 
index 0ff0c7ff1089489bb3bbfbe4294ed5e907813a4c..d3b76b2b3f14196d5d963179da56af8b82e25834 100644 (file)
@@ -218,7 +218,7 @@ DEFINE_CEPH_FEATURE_RETIRED(63, 1, RESERVED_BROKEN, LUMINOUS, QUINCY) // client-
         CEPH_FEATURE_OSD_CACHEPOOL |       \
         CEPH_FEATURE_CRUSH_V2 |            \
         CEPH_FEATURE_EXPORT_PEER |         \
-        CEPH_FEATURE_CRUSH_MSR |           \
+        CEPH_FEATUREMASK_CRUSH_MSR |       \
         CEPH_FEATURE_OSDMAP_ENC |          \
         CEPH_FEATURE_MDS_INLINE_DATA |     \
         CEPH_FEATURE_CRUSH_TUNABLES3 |     \
@@ -266,7 +266,6 @@ DEFINE_CEPH_FEATURE_RETIRED(63, 1, RESERVED_BROKEN, LUMINOUS, QUINCY) // client-
         CEPH_FEATURE_CRUSH_TUNABLES2 |         \
         CEPH_FEATURE_CRUSH_TUNABLES3 |         \
         CEPH_FEATURE_CRUSH_TUNABLES5 |         \
-        CEPH_FEATURE_CRUSH_MSR |               \
         CEPH_FEATURE_CRUSH_V2 |                \
         CEPH_FEATURE_CRUSH_V4 |                \
         CEPH_FEATUREMASK_CRUSH_MSR)
index f10fff0e88c419551af2432d31a030093e600851..b87484c1a9db9f80db6414a1ef25ea4ec86596a1 100644 (file)
@@ -1768,7 +1768,7 @@ uint64_t OSDMap::get_features(int entity_type, uint64_t *pmask) const
     features |= CEPH_FEATUREMASK_CRUSH_CHOOSE_ARGS;
   if (crush->has_nondefault_tunables_msr() ||
       crush->has_msr_rules())
-    features |= CEPH_FEATURE_CRUSH_MSR;
+    features |= CEPH_FEATUREMASK_CRUSH_MSR;
   mask |= CEPH_FEATURES_CRUSH;
 
   if (!pg_upmap.empty() || !pg_upmap_items.empty())