features |= CEPH_FEATURE_CRUSH_TUNABLES5;
if (crush->has_incompat_choose_args())
features |= CEPH_FEATUREMASK_CRUSH_CHOOSE_ARGS;
- if (crush->has_nondefault_tunables_msr())
+ if (crush->has_nondefault_tunables_msr() ||
+ crush->has_msr_rules())
features |= CEPH_FEATURE_CRUSH_MSR;
mask |= CEPH_FEATURES_CRUSH;
features |= CEPH_FEATURE_CRUSH_TUNABLES3;
if (crush->is_v5_rule(ruleid))
features |= CEPH_FEATURE_CRUSH_TUNABLES5;
- if (crush->is_msr_rule(ruleid))
- features |= CEPH_FEATURE_CRUSH_MSR;
}
}
mask |= CEPH_FEATURE_OSDHASHPSPOOL | CEPH_FEATURE_OSD_CACHEPOOL;