From c3fd1deec2d20a18dcb0b3ec5ff89b0d22309672 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rados=C5=82aw=20Zarzy=C5=84ski?= Date: Mon, 3 Jun 2024 15:43:51 +0200 Subject: [PATCH] mon: validate also mons and osds on {rm-,}pg-upmap-primary MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes: https://tracker.ceph.com/issues/66329 Signed-off-by: Radosław Zarzyński --- src/mon/OSDMonitor.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index b70fcc064dd80..50be50c36883b 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -12238,25 +12238,27 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, ceph_release_t min_release = ceph_release_t::unknown; string feature_name = "unknown"; + uint64_t min_feature = CEPH_FEATURES_ALL; // paranoia switch (upmap_option) { case OP_PG_UPMAP: // fall through case OP_RM_PG_UPMAP: // fall through case OP_PG_UPMAP_ITEMS: // fall through case OP_RM_PG_UPMAP_ITEMS: min_release = ceph_release_t::luminous; + min_feature = CEPH_FEATUREMASK_OSDMAP_PG_UPMAP; feature_name = "pg-upmap"; break; case OP_PG_UPMAP_PRIMARY: // fall through case OP_RM_PG_UPMAP_PRIMARY: min_release = ceph_release_t::reef; + min_feature = CEPH_FEATUREMASK_SERVER_REEF; feature_name = "pg-upmap-primary"; break; default: ceph_abort_msg("invalid upmap option"); } - uint64_t min_feature = CEPH_FEATUREMASK_OSDMAP_PG_UPMAP; string min_release_name = ceph_release_name(static_cast(min_release)); if (osdmap.require_min_compat_client < min_release) { @@ -12269,7 +12271,6 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, goto reply_no_propose; } - //TODO: Should I add feature and test for upmap-primary? err = check_cluster_features(min_feature, ss); if (err == -EAGAIN) goto wait; -- 2.39.5