// elector pinging and CONNECTIVITY mode:
constexpr mon_feature_t FEATURE_PINGING( (1ULL << 7));
constexpr mon_feature_t FEATURE_QUINCY( (1ULL << 8));
+ constexpr mon_feature_t FEATURE_REEF( (1ULL << 9));
constexpr mon_feature_t FEATURE_RESERVED( (1ULL << 63));
constexpr mon_feature_t FEATURE_NONE( (0ULL));
FEATURE_PACIFIC |
FEATURE_PINGING |
FEATURE_QUINCY |
+ FEATURE_REEF |
FEATURE_NONE
);
}
FEATURE_PACIFIC |
FEATURE_PINGING |
FEATURE_QUINCY |
+ FEATURE_REEF |
FEATURE_NONE
);
}
static inline ceph_release_t infer_ceph_release_from_mon_features(mon_feature_t f)
{
+ if (f.contains_all(ceph::features::mon::FEATURE_REEF)) {
+ return ceph_release_t::reef;
+ }
if (f.contains_all(ceph::features::mon::FEATURE_QUINCY)) {
return ceph_release_t::quincy;
}
return "pacific";
} else if (f == FEATURE_QUINCY) {
return "quincy";
+ } else if (f == FEATURE_REEF) {
+ return "reef";
} else if (f == FEATURE_RESERVED) {
return "reserved";
}
return FEATURE_PACIFIC;
} else if (n == "quincy") {
return FEATURE_QUINCY;
+ } else if (n == "reef") {
+ return FEATURE_REEF;
} else if (n == "reserved") {
return FEATURE_RESERVED;
}