From: Sage Weil Date: Sat, 23 Jan 2021 19:16:12 +0000 (-0600) Subject: add feature/release name quincy X-Git-Tag: v17.1.0~3123^2~13 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=beb62c029abcf1d596ed624d58cbcb094ee6a292;p=ceph-ci.git add feature/release name quincy Signed-off-by: Sage Weil --- diff --git a/doc/dev/release-checklists.rst b/doc/dev/release-checklists.rst index a5242052553..4c6bb7e4b5d 100644 --- a/doc/dev/release-checklists.rst +++ b/doc/dev/release-checklists.rst @@ -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 ~~~~~~~ diff --git a/src/common/ceph_releases.h b/src/common/ceph_releases.h index 96fba92fddd..cb026db0649 100644 --- a/src/common/ceph_releases.h +++ b/src/common/ceph_releases.h @@ -28,6 +28,7 @@ enum class ceph_release_t : std::uint8_t { nautilus, octopus, pacific, + quincy, max, }; diff --git a/src/common/ceph_strings.cc b/src/common/ceph_strings.cc index 48148a5b78f..113a3ca894a 100644 --- a/src/common/ceph_strings.cc +++ b/src/common/ceph_strings.cc @@ -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"; diff --git a/src/include/rados.h b/src/include/rados.h index 14846577172..faaa053d0ab 100644 --- a/src/include/rados.h +++ b/src/include/rados.h @@ -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 diff --git a/src/mds/cephfs_features.h b/src/mds/cephfs_features.h index ca27c12132c..34754fb6a9d 100644 --- a/src/mds/cephfs_features.h +++ b/src/mds/cephfs_features.h @@ -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 diff --git a/src/mon/mon_types.h b/src/mon/mon_types.h index 23ebf393127..d14358d1f65 100644 --- a/src/mon/mon_types.h +++ b/src/mon/mon_types.h @@ -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; }