]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
add feature/release name quincy
authorSage Weil <sage@newdream.net>
Sat, 23 Jan 2021 19:16:12 +0000 (13:16 -0600)
committerSage Weil <sage@newdream.net>
Thu, 28 Jan 2021 19:29:27 +0000 (13:29 -0600)
Signed-off-by: Sage Weil <sage@newdream.net>
doc/dev/release-checklists.rst
src/common/ceph_releases.h
src/common/ceph_strings.cc
src/include/rados.h
src/mds/cephfs_features.h
src/mon/mon_types.h

index a524205255314b50488c9b5f038deb5f917b34d8..4c6bb7e4b5dbf9319838bbaec95c93e12c1b8a8d 100644 (file)
@@ -26,11 +26,11 @@ Define release names and constants
 
 Make sure X (and, ideally, X+1) is defined:
 
-- [ ] src/common/ceph_releases.h (`ceph_release_t`)
-- [ ] src/common/ceph_strings.cc (`ceph_release_name()`)
-- [ ] src/include/rados.h (`CEPH_RELEASE_*` and `MAX`)
-- [ ] src/mon/mon_types.h (`ceph::features::mon::FEATURE_*` and related structs and helpers; note that monmaptool CLI test output will need adjustment)
-- [ ] src/mds/cephfs_features.h (`CEPHFS_CURRENT_RELEASE`)
+- [x] src/common/ceph_releases.h (`ceph_release_t`)
+- [x] src/common/ceph_strings.cc (`ceph_release_name()`)
+- [x] src/include/rados.h (`CEPH_RELEASE_*` and `MAX`)
+- [x] src/mon/mon_types.h (`ceph::features::mon::FEATURE_*` and related structs and helpers; note that monmaptool CLI test output will need adjustment)
+- [x] src/mds/cephfs_features.h (`CEPHFS_CURRENT_RELEASE`)
 
 Scripts
 ~~~~~~~
index 96fba92fddd01553e95b502d845362b7b167a08f..cb026db06494e3bb322d112b4c65834c728c89ba 100644 (file)
@@ -28,6 +28,7 @@ enum class ceph_release_t : std::uint8_t {
   nautilus,
   octopus,
   pacific,
+  quincy,
   max,
 };
 
index 48148a5b78f44e56329d494b739102402fbe4ea8..113a3ca894a7d407fb3187c33b4ccc908bdd9b60 100644 (file)
@@ -108,6 +108,8 @@ const char *ceph_release_name(int r)
                return "octopus";
        case CEPH_RELEASE_PACIFIC:
                return "pacific";
+       case CEPH_RELEASE_QUINCY:
+               return "quincy";
        default:
                if (r < 0)
                        return "unspecified";
index 1484657717279f295fa8c79af13b64392b078cb2..faaa053d0ab714cd850552b6d7772961e9f36881 100644 (file)
@@ -204,7 +204,8 @@ extern const char *ceph_osd_state_name(int s);
 #define CEPH_RELEASE_NAUTILUS   14
 #define CEPH_RELEASE_OCTOPUS    15
 #define CEPH_RELEASE_PACIFIC    16
-#define CEPH_RELEASE_MAX        17  /* highest + 1 */
+#define CEPH_RELEASE_QUINCY     17
+#define CEPH_RELEASE_MAX        18  /* highest + 1 */
 
 /*
  * The error code to return when an OSD can't handle a write
index ca27c12132c9afbc4d6768bf62e16b7d8d8448a6..34754fb6a9d52725fb510fe8ce6b8620a31c473c 100644 (file)
@@ -27,7 +27,7 @@ namespace ceph {
 // and update Server::update_required_client_features(). This feature bit
 // is used to indicate that operator only wants clients from that release or
 // later to mount CephFS.
-#define CEPHFS_CURRENT_RELEASE  CEPH_RELEASE_PACIFIC
+#define CEPHFS_CURRENT_RELEASE  CEPH_RELEASE_QUINCY
 
 // The first 5 bits are reserved for old ceph releases.
 #define CEPHFS_FEATURE_JEWEL           5
index 23ebf393127ae668b4311f61e153d4c3b68cebe7..d14358d1f65c87efe3d52473ce324f7ca6bd296d 100644 (file)
@@ -488,6 +488,7 @@ namespace ceph {
       constexpr mon_feature_t FEATURE_PACIFIC(    (1ULL << 6));
       // elector pinging and CONNECTIVITY mode:
       constexpr mon_feature_t FEATURE_PINGING(    (1ULL << 7));
+      constexpr mon_feature_t FEATURE_QUINCY(    (1ULL << 8));
 
       constexpr mon_feature_t FEATURE_RESERVED(   (1ULL << 63));
       constexpr mon_feature_t FEATURE_NONE(       (0ULL));
@@ -507,6 +508,7 @@ namespace ceph {
          FEATURE_OCTOPUS |
          FEATURE_PACIFIC |
          FEATURE_PINGING |
+         FEATURE_QUINCY |
          FEATURE_NONE
          );
       }
@@ -530,6 +532,7 @@ namespace ceph {
          FEATURE_OCTOPUS |
          FEATURE_PACIFIC |
          FEATURE_PINGING |
+         FEATURE_QUINCY |
          FEATURE_NONE
          );
       }
@@ -548,6 +551,9 @@ namespace ceph {
 
 static inline ceph_release_t infer_ceph_release_from_mon_features(mon_feature_t f)
 {
+  if (f.contains_all(ceph::features::mon::FEATURE_QUINCY)) {
+    return ceph_release_t::quincy;
+  }
   if (f.contains_all(ceph::features::mon::FEATURE_PACIFIC)) {
     return ceph_release_t::pacific;
   }
@@ -588,6 +594,8 @@ static inline const char *ceph::features::mon::get_feature_name(uint64_t b) {
     return "octopus";
   } else if (f == FEATURE_PACIFIC) {
     return "pacific";
+  } else if (f == FEATURE_QUINCY) {
+    return "quincy";
   } else if (f == FEATURE_RESERVED) {
     return "reserved";
   }
@@ -612,6 +620,8 @@ inline mon_feature_t ceph::features::mon::get_feature_by_name(const std::string
     return FEATURE_OCTOPUS;
   } else if (n == "pacific") {
     return FEATURE_PACIFIC;
+  } else if (n == "quincy") {
+    return FEATURE_QUINCY;
   } else if (n == "reserved") {
     return FEATURE_RESERVED;
   }