@@ -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