From: Radosław Zarzyński Date: Mon, 3 Jun 2024 13:43:51 +0000 (+0200) Subject: mon: validate also mons and osds on {rm-,}pg-upmap-primary X-Git-Tag: v20.0.0~1379^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=c3fd1deec2d20a18dcb0b3ec5ff89b0d22309672;p=ceph.git mon: validate also mons and osds on {rm-,}pg-upmap-primary Fixes: https://tracker.ceph.com/issues/66329 Signed-off-by: Radosław Zarzyński --- 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;