]> 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:18:19 +0000 (14:18 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1fdc85f224d52655d74eff9a29b6029b974661b3)

src/osd/OSDMap.cc

index 94ae5e6b1e9ea1aa831d0ebb6b7568e547a8c76b..44ccfd67794991a258ebe2cf121d09aeaf2b4a79 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;