From: Sage Weil Date: Thu, 22 Jan 2015 21:56:38 +0000 (-0800) Subject: mon/OSDMonitor: validate crush features for osd (not just mon) X-Git-Tag: v0.93~179^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c71ecae7cc609f1e3c2286140af55487cb6ed344;p=ceph.git mon/OSDMonitor: validate crush features for osd (not just mon) We need to check that the OSD features are met as well. Backport: giant, firefly Signed-off-by: Sage Weil --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 6029bf0a3dfd..424f6b969c55 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -3691,12 +3691,13 @@ bool OSDMonitor::validate_crush_against_features(const CrushWrapper *newcrush, OSDMap newmap; newmap.deepish_copy_from(osdmap); newmap.apply_incremental(new_pending); - uint64_t features = newmap.get_features(CEPH_ENTITY_TYPE_MON, NULL); - stringstream features_ss; + uint64_t features = + newmap.get_features(CEPH_ENTITY_TYPE_MON, NULL) | + newmap.get_features(CEPH_ENTITY_TYPE_OSD, NULL); + stringstream features_ss; int r = check_cluster_features(features, features_ss); - if (!r) return true;