We need to include the mask in the CEPH_FEATURES_CRUSH value, and | in the
FEATUREMASK later, because this is a second-generation feature bit usage.
This fixes get_min_compat_client(), which was returning 'jewel' when
incompat choose_args were in use instead of 'luminous'. Now it is correct.
Signed-off-by: Sage Weil <sage@redhat.com>
CEPH_FEATURE_CRUSH_TUNABLES5 | \
CEPH_FEATURE_CRUSH_V2 | \
CEPH_FEATURE_CRUSH_V4 | \
- CEPH_FEATURE_CRUSH_CHOOSE_ARGS)
+ CEPH_FEATUREMASK_CRUSH_CHOOSE_ARGS)
/*
* make sure we don't try to use the reserved features
features |= CEPH_FEATURE_CRUSH_V4;
if (crush->has_nondefault_tunables5())
features |= CEPH_FEATURE_CRUSH_TUNABLES5;
- if (crush->has_incompat_choose_args())
- features |= CEPH_FEATURE_CRUSH_CHOOSE_ARGS;
+ if (crush->has_incompat_choose_args()) {
+ features |= CEPH_FEATUREMASK_CRUSH_CHOOSE_ARGS;
+ }
mask |= CEPH_FEATURES_CRUSH;
if (!pg_upmap.empty() || !pg_upmap_items.empty())