From: Joao Eduardo Luis Date: Sat, 14 Dec 2013 00:41:01 +0000 (+0000) Subject: osd: OSDMap: check for erasure pools when getting features X-Git-Tag: v0.75~67^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=73992d2ed43bceaef6a7c1445912938516ac7673;p=ceph.git osd: OSDMap: check for erasure pools when getting features If we have a pool with type Erasure, then we consider we require CEPH_FEATURE_OSD_ERASURE_CODES. Signed-off-by: Joao Eduardo Luis --- diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index 7e148cb485d1..cbea920314c1 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -759,12 +759,16 @@ uint64_t OSDMap::get_features(uint64_t *pmask) const if (p->second.flags & pg_pool_t::FLAG_HASHPSPOOL) { features |= CEPH_FEATURE_OSDHASHPSPOOL; } + if (p->second.is_erasure()) { + features |= CEPH_FEATURE_OSD_ERASURE_CODES; + } if (!p->second.tiers.empty() || p->second.is_tier()) { features |= CEPH_FEATURE_OSD_CACHEPOOL; } } - mask |= CEPH_FEATURE_OSDHASHPSPOOL | CEPH_FEATURE_OSD_CACHEPOOL; + mask |= CEPH_FEATURE_OSDHASHPSPOOL | CEPH_FEATURE_OSD_CACHEPOOL | + CEPH_FEATURE_OSD_ERASURE_CODES; if (pmask) *pmask = mask;