From b0bded78e5f524046de10f9b893030eeae89d576 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Wed, 28 Aug 2024 02:09:40 +0000 Subject: [PATCH] osd: use CEPH_FEATUREMASK_CRUSH_MSR, not CEPH_FEATURE_CRUSH_MSR 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 (cherry picked from commit cb157b45c713e76ec95d8b80548998587e02a758) (cherry picked from commit 148c572f067f5be315c50c25d78cd9482c754fda) --- src/common/ceph_strings.cc | 2 +- src/include/ceph_features.h | 3 +-- src/osd/OSDMap.cc | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/common/ceph_strings.cc b/src/common/ceph_strings.cc index 6f45999eafb72..6204a9ca3b893 100644 --- a/src/common/ceph_strings.cc +++ b/src/common/ceph_strings.cc @@ -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; diff --git a/src/include/ceph_features.h b/src/include/ceph_features.h index 0ff0c7ff10894..d3b76b2b3f141 100644 --- a/src/include/ceph_features.h +++ b/src/include/ceph_features.h @@ -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) diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index f10fff0e88c41..b87484c1a9db9 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -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()) -- 2.39.5