From: Sage Weil Date: Fri, 22 Mar 2019 22:29:18 +0000 (-0500) Subject: mon/mon_types: add mon feature for octopus X-Git-Tag: v15.0.0^2~16 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fbfa772047c3802e79b1b3ed860db165b33173d6;p=ceph.git mon/mon_types: add mon feature for octopus Signed-off-by: Sage Weil --- diff --git a/qa/standalone/mon/misc.sh b/qa/standalone/mon/misc.sh index 3e70de85d819..da847d579804 100755 --- a/qa/standalone/mon/misc.sh +++ b/qa/standalone/mon/misc.sh @@ -237,7 +237,7 @@ function TEST_mon_features() { # monmap must have not all k l m persistent # features set. - jqfilter='.monmap.features.persistent | length == 5' + jqfilter='.monmap.features.persistent | length == 6' jq_success "$jqinput" "$jqfilter" || return 1 jqfilter='.monmap.features.persistent[]|select(. == "kraken")' jq_success "$jqinput" "$jqfilter" "kraken" || return 1 @@ -249,6 +249,8 @@ function TEST_mon_features() { jq_success "$jqinput" "$jqfilter" "osdmap-prune" || return 1 jqfilter='.monmap.features.persistent[]|select(. == "nautilus")' jq_success "$jqinput" "$jqfilter" "nautilus" || return 1 + jqfilter='.monmap.features.persistent[]|select(. == "octopus")' + jq_success "$jqinput" "$jqfilter" "octopus" || return 1 CEPH_ARGS=$CEPH_ARGS_orig # that's all folks. thank you for tuning in. diff --git a/src/mon/mon_types.h b/src/mon/mon_types.h index 0539ae2e05fb..22f394096993 100644 --- a/src/mon/mon_types.h +++ b/src/mon/mon_types.h @@ -495,6 +495,7 @@ namespace ceph { constexpr mon_feature_t FEATURE_MIMIC( (1ULL << 2)); constexpr mon_feature_t FEATURE_OSDMAP_PRUNE (1ULL << 3); constexpr mon_feature_t FEATURE_NAUTILUS( (1ULL << 4)); + constexpr mon_feature_t FEATURE_OCTOPUS( (1ULL << 5)); constexpr mon_feature_t FEATURE_RESERVED( (1ULL << 63)); constexpr mon_feature_t FEATURE_NONE( (0ULL)); @@ -511,6 +512,7 @@ namespace ceph { FEATURE_MIMIC | FEATURE_OSDMAP_PRUNE | FEATURE_NAUTILUS | + FEATURE_OCTOPUS | FEATURE_NONE ); } @@ -531,6 +533,7 @@ namespace ceph { FEATURE_MIMIC | FEATURE_NAUTILUS | FEATURE_OSDMAP_PRUNE | + FEATURE_OCTOPUS | FEATURE_NONE ); } @@ -549,6 +552,9 @@ namespace ceph { static inline int infer_ceph_release_from_mon_features(mon_feature_t f) { + if (f.contains_all(ceph::features::mon::FEATURE_OCTOPUS)) { + return CEPH_RELEASE_OCTOPUS; + } if (f.contains_all(ceph::features::mon::FEATURE_NAUTILUS)) { return CEPH_RELEASE_NAUTILUS; } @@ -577,6 +583,8 @@ static inline const char *ceph::features::mon::get_feature_name(uint64_t b) { return "osdmap-prune"; } else if (f == FEATURE_NAUTILUS) { return "nautilus"; + } else if (f == FEATURE_OCTOPUS) { + return "octopus"; } else if (f == FEATURE_RESERVED) { return "reserved"; } @@ -595,6 +603,8 @@ inline mon_feature_t ceph::features::mon::get_feature_by_name(const std::string return FEATURE_OSDMAP_PRUNE; } else if (n == "nautilus") { return FEATURE_NAUTILUS; + } else if (n == "octopus") { + return FEATURE_OCTOPUS; } else if (n == "reserved") { return FEATURE_RESERVED; }