summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-02-19 16:09:25 -0800
committerSage Weil <sage@inktank.com>2013-02-19 16:12:09 -0800
commit128cb17d87ff9ac42434bd508ccc96bc42d53484 (patch)
treef4862b57c16a124e434f7dc0c805b8bcbdb77db7
parentb90167d6bcc1e6aa2a84962386b945008473bb59 (diff)
downloadceph-128cb17d87ff9ac42434bd508ccc96bc42d53484.tar.gz
osd/OSDMap: note OSDHASHPSPOOL feature when pool FLAG_HASHPSPOOL is set
This allows the osd and mon to enforce feature bits on their connections. Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/osd/OSDMap.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc
index a2db1a117d9..8f0b01db706 100644
--- a/src/osd/OSDMap.cc
+++ b/src/osd/OSDMap.cc
@@ -726,6 +726,13 @@ uint64_t OSDMap::get_features(uint64_t *pmask) const
features |= CEPH_FEATURE_CRUSH_TUNABLES2;
mask |= CEPH_FEATURES_CRUSH;
+ for (map<int64_t,pg_pool_t>::const_iterator p = pools.begin(); p != pools.end(); ++p) {
+ if (p->second.flags & pg_pool_t::FLAG_HASHPSPOOL) {
+ features |= CEPH_FEATURE_OSDHASHPSPOOL;
+ }
+ }
+ mask |= CEPH_FEATURE_OSDHASHPSPOOL;
+
if (pmask)
*pmask = mask;
return features;