]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/OSDMap: add CRUSH_CHOOSEARGS feature bit
authorSage Weil <sage@redhat.com>
Thu, 4 May 2017 17:41:14 +0000 (12:41 -0500)
committerSage Weil <sage@redhat.com>
Tue, 9 May 2017 16:32:56 +0000 (11:32 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/include/ceph_features.h
src/osd/OSDMap.cc

index 767d5f8c16173c741399ff71d7b2bfa748ed765a..8b8933b7e018816907f0cc18437a5e58a7eefe87 100755 (executable)
@@ -101,6 +101,7 @@ DEFINE_CEPH_FEATURE(21, 2, SERVER_LUMINOUS)
 DEFINE_CEPH_FEATURE(21, 2, RESEND_ON_SPLIT)  // overlap
 DEFINE_CEPH_FEATURE(21, 2, RADOS_BACKOFF)    // overlap
 DEFINE_CEPH_FEATURE(21, 2, OSDMAP_PG_UPMAP)  // overlap
+DEFINE_CEPH_FEATURE(21, 2, CRUSH_CHOOSEARGS) // overlap
 DEFINE_CEPH_FEATURE_RETIRED(22, 1, BACKFILL_RESERVATION, JEWEL, LUMINOUS)
 
 DEFINE_CEPH_FEATURE(23, 1, MSG_AUTH)
@@ -251,7 +252,8 @@ DEFINE_CEPH_FEATURE_DEPRECATED(63, 1, RESERVED_BROKEN, LUMINOUS) // client-facin
         CEPH_FEATURE_CRUSH_TUNABLES3 |         \
         CEPH_FEATURE_CRUSH_TUNABLES5 |         \
         CEPH_FEATURE_CRUSH_V2 |                \
-        CEPH_FEATURE_CRUSH_V4)
+        CEPH_FEATURE_CRUSH_V4 |                \
+        CEPH_FEATURE_CRUSH_CHOOSEARGS)
 
 /*
  * make sure we don't try to use the reserved features
index b0b64ccaadb57cb3f004f13a7361d0a8547de30c..1fa0f1c9cd673024b67cc35bf62df752117b39f3 100644 (file)
@@ -1167,6 +1167,8 @@ uint64_t OSDMap::get_features(int entity_type, uint64_t *pmask) const
     features |= CEPH_FEATURE_CRUSH_V4;
   if (crush->has_nondefault_tunables5())
     features |= CEPH_FEATURE_CRUSH_TUNABLES5;
+  if (crush->has_incompat_chooseargs())
+    features |= CEPH_FEATURE_CRUSH_CHOOSEARGS;
   mask |= CEPH_FEATURES_CRUSH;
 
   if (!pg_upmap.empty() || !pg_upmap_items.empty())
@@ -1247,7 +1249,9 @@ pair<string,string> OSDMap::get_min_compat_client() const
 {
   uint64_t f = get_features(CEPH_ENTITY_TYPE_CLIENT, nullptr);
 
-  if (HAVE_FEATURE(f, OSDMAP_PG_UPMAP)) {      // v12.0.0-1733-g27d6f43
+  if (HAVE_FEATURE(f, OSDMAP_PG_UPMAP) ||      // v12.0.0-1733-g27d6f43
+#warning update this commit description right before or after merge
+      HAVE_FEATURE(f, CRUSH_CHOOSEARGS)) {     // FIXME
     return make_pair("luminous", "12.2.0");
   }
   if (HAVE_FEATURE(f, CRUSH_TUNABLES5)) {      // v10.0.0-612-g043a737