]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/OSDMap: require cephx v2 signatures based on require_min_compat_client, require_o...
authorSage Weil <sage@redhat.com>
Fri, 4 May 2018 15:29:50 +0000 (10:29 -0500)
committerSage Weil <sage@redhat.com>
Thu, 24 May 2018 19:17:42 +0000 (14:17 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSDMap.cc

index 03e22ccd5ec94437c11ee700124449929e01d176..99ccf7716b6b952895bc4fabdeb4a976150581b9 100644 (file)
@@ -1420,6 +1420,17 @@ uint64_t OSDMap::get_features(int entity_type, uint64_t *pmask) const
     mask |= kraken_features;
   }
 
+  if (require_min_compat_client >= CEPH_RELEASE_MIMIC) {
+    // if min_compat_client is >= mimic, require v2 cephx signatures
+    // from everyone
+    features |= CEPH_FEATUREMASK_CEPHX_V2;
+  } else if (require_osd_release >= CEPH_RELEASE_MIMIC &&
+            entity_type == CEPH_ENTITY_TYPE_OSD) {
+    // if osds are >= mimic, at least require the signatures from them
+    features |= CEPH_FEATUREMASK_CEPHX_V2;
+  }
+  mask |= CEPH_FEATUREMASK_CEPHX_V2;
+
   if (pmask)
     *pmask = mask;
   return features;