]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common, doc, include, mds, mon: add feature/release name squid
authorRadosław Zarzyński <rzarzyns@redhat.com>
Tue, 9 May 2023 16:05:46 +0000 (18:05 +0200)
committerRadosław Zarzyński <rzarzyns@redhat.com>
Mon, 4 Dec 2023 15:27:50 +0000 (16:27 +0100)
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
doc/dev/release-checklists.rst
src/common/ceph_releases.h
src/common/ceph_strings.cc
src/include/rados.h
src/include/rbd/librbd.h
src/mds/cephfs_features.h
src/mon/mon_types.h

index 66af04e7d965060ffc3e63dfe0a4ec069c34ef92..938d6e3e343f27dfc7f57846213983364249a8cd 100644 (file)
@@ -33,12 +33,12 @@ 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/include/rbd/librbd.h (`LIBRBD_VER_MINOR` to X)
-- [ ] 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/include/rbd/librbd.h (`LIBRBD_VER_MINOR` to X)
+- [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 e09e191e5ec7450daebc1b6d5d719c9ca259d822..6d330b5d5b68bcd809fe83e5f49b22c70f5ae540 100644 (file)
@@ -30,6 +30,7 @@ enum class ceph_release_t : std::uint8_t {
   pacific,
   quincy,
   reef,
+  squid,
   max,
 };
 
index 18dcc701b31d536375f7c9c1c3907911339d4bf7..5103b1a3f83cd023254d060e45798f65be61ab55 100644 (file)
@@ -112,6 +112,8 @@ const char *ceph_release_name(int r)
                return "quincy";
        case CEPH_RELEASE_REEF:
                return "reef";
+       case CEPH_RELEASE_SQUID:
+               return "squid";
        default:
                if (r < 0)
                        return "unspecified";
index eac3a2159bf8803a5f486714e7c360d7f891c42b..1fb86be947e609776c5272c32d9d7b8ae269ebd7 100644 (file)
@@ -207,7 +207,8 @@ extern const char *ceph_osd_state_name(int s);
 #define CEPH_RELEASE_PACIFIC    16
 #define CEPH_RELEASE_QUINCY     17
 #define CEPH_RELEASE_REEF       18
-#define CEPH_RELEASE_MAX        19  /* highest + 1 */
+#define CEPH_RELEASE_SQUID      19
+#define CEPH_RELEASE_MAX        20  /* highest + 1 */
 
 /*
  * The error code to return when an OSD can't handle a write
index 50901cb8a82d13e8dd0baf6ffae313b4ac89be65..4a7e108e73f58053ade2fd77e40b135194bdb5cc 100644 (file)
@@ -32,7 +32,7 @@ extern "C" {
 #include "features.h"
 
 #define LIBRBD_VER_MAJOR 1
-#define LIBRBD_VER_MINOR 18
+#define LIBRBD_VER_MINOR 19
 #define LIBRBD_VER_EXTRA 0
 
 #define LIBRBD_VERSION(maj, min, extra) ((maj << 16) + (min << 8) + extra)
index 3a67e96dba160d62234cbb8ab6445ff5bcb5d32f..b90377779e1cae5fac9f27e4484fb4e9fee170a8 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_REEF
+#define CEPHFS_CURRENT_RELEASE  CEPH_RELEASE_SQUID
 
 // The first 5 bits are reserved for old ceph releases.
 #define CEPHFS_FEATURE_JEWEL                5
index cce9976f3c350ddeaf5b31e9a6fc4f9236e39fe4..2bf483939a8364b35a7d8568d3a6c3fef9d27f96 100644 (file)
@@ -482,8 +482,9 @@ 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_REEF(    (1ULL << 9));
+      constexpr mon_feature_t FEATURE_QUINCY(     (1ULL << 8));
+      constexpr mon_feature_t FEATURE_REEF(       (1ULL << 9));
+      constexpr mon_feature_t FEATURE_SQUID(      (1ULL << 10));
 
       constexpr mon_feature_t FEATURE_RESERVED(   (1ULL << 63));
       constexpr mon_feature_t FEATURE_NONE(       (0ULL));
@@ -505,6 +506,7 @@ namespace ceph {
          FEATURE_PINGING |
          FEATURE_QUINCY |
          FEATURE_REEF |
+         FEATURE_SQUID |
          FEATURE_NONE
          );
       }
@@ -530,6 +532,7 @@ namespace ceph {
          FEATURE_PINGING |
          FEATURE_QUINCY |
          FEATURE_REEF |
+         FEATURE_SQUID |
          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_SQUID)) {
+    return ceph_release_t::squid;
+  }
   if (f.contains_all(ceph::features::mon::FEATURE_REEF)) {
     return ceph_release_t::reef;
   }
@@ -598,6 +604,8 @@ static inline const char *ceph::features::mon::get_feature_name(uint64_t b) {
     return "quincy";
   } else if (f == FEATURE_REEF) {
     return "reef";
+  } else if (f == FEATURE_SQUID) {
+    return "squid";
   } else if (f == FEATURE_RESERVED) {
     return "reserved";
   }
@@ -626,6 +634,8 @@ inline mon_feature_t ceph::features::mon::get_feature_by_name(const std::string
     return FEATURE_QUINCY;
   } else if (n == "reef") {
     return FEATURE_REEF;
+  } else if (n == "squid") {
+    return FEATURE_SQUID;
   } else if (n == "reserved") {
     return FEATURE_RESERVED;
   }