From: Greg Farnum Date: Thu, 23 Jan 2014 02:21:38 +0000 (-0800) Subject: Monitor: add a function to get the required quorum features from the local compatset X-Git-Tag: v0.78~251^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=41796c07ac077678dce9db8d005e088e74ee71e3;p=ceph.git Monitor: add a function to get the required quorum features from the local compatset We will use this to avoid deferring to people who can't read our store. Signed-off-by: Greg Farnum --- diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 4d3966539968..205d4908b64c 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -1628,6 +1628,17 @@ void Monitor::apply_quorum_to_compatset_features() } } +uint64_t Monitor::apply_compatset_features_to_quorum_requirements() +{ + uint64_t required_features = 0; + if (features.incompat.contains(CEPH_MON_FEATURE_INCOMPAT_OSD_ERASURE_CODES)) { + required_features |= CEPH_FEATURE_OSD_ERASURE_CODES; + } + if (features.incompat.contains(CEPH_MON_FEATURE_INCOMPAT_OSDMAP_ENC)) { + required_features |= CEPH_FEATURE_OSDMAP_ENC; + } + return required_features; +} void Monitor::sync_force(Formatter *f, ostream& ss) { diff --git a/src/mon/Monitor.h b/src/mon/Monitor.h index e7af4429564a..47fa6587aa32 100644 --- a/src/mon/Monitor.h +++ b/src/mon/Monitor.h @@ -526,6 +526,7 @@ public: return quorum_features; } void apply_quorum_to_compatset_features(); + uint64_t apply_compatset_features_to_quorum_requirements(); private: void _reset(); ///< called from bootstrap, start_, or join_election