Skip to content

Commit c3fd1de

Browse files
committed
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 <[email protected]>
1 parent df637ab commit c3fd1de

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/mon/OSDMonitor.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12238,25 +12238,27 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
1223812238

1223912239
ceph_release_t min_release = ceph_release_t::unknown;
1224012240
string feature_name = "unknown";
12241+
uint64_t min_feature = CEPH_FEATURES_ALL; // paranoia
1224112242
switch (upmap_option) {
1224212243
case OP_PG_UPMAP: // fall through
1224312244
case OP_RM_PG_UPMAP: // fall through
1224412245
case OP_PG_UPMAP_ITEMS: // fall through
1224512246
case OP_RM_PG_UPMAP_ITEMS:
1224612247
min_release = ceph_release_t::luminous;
12248+
min_feature = CEPH_FEATUREMASK_OSDMAP_PG_UPMAP;
1224712249
feature_name = "pg-upmap";
1224812250
break;
1224912251

1225012252
case OP_PG_UPMAP_PRIMARY: // fall through
1225112253
case OP_RM_PG_UPMAP_PRIMARY:
1225212254
min_release = ceph_release_t::reef;
12255+
min_feature = CEPH_FEATUREMASK_SERVER_REEF;
1225312256
feature_name = "pg-upmap-primary";
1225412257
break;
1225512258

1225612259
default:
1225712260
ceph_abort_msg("invalid upmap option");
1225812261
}
12259-
uint64_t min_feature = CEPH_FEATUREMASK_OSDMAP_PG_UPMAP;
1226012262
string min_release_name = ceph_release_name(static_cast<int>(min_release));
1226112263

1226212264
if (osdmap.require_min_compat_client < min_release) {
@@ -12269,7 +12271,6 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
1226912271
goto reply_no_propose;
1227012272
}
1227112273

12272-
//TODO: Should I add feature and test for upmap-primary?
1227312274
err = check_cluster_features(min_feature, ss);
1227412275
if (err == -EAGAIN)
1227512276
goto wait;

0 commit comments

Comments
 (0)