]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/OSDMap: use pool's crush rule_id directly
authorSage Weil <sage@newdream.net>
Fri, 25 Jun 2021 15:09:03 +0000 (11:09 -0400)
committerSage Weil <sage@newdream.net>
Mon, 28 Jun 2021 22:34:31 +0000 (18:34 -0400)
Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/OSDMap.cc

index 98b4c3e1821b8f6a48a341f33b5a7ca7b72a63f3..f187b10b8cf2b6505a292f842d828d549f9b5c84 100644 (file)
@@ -1612,9 +1612,7 @@ uint64_t OSDMap::get_features(int entity_type, uint64_t *pmask) const
        pool.second.is_tier()) {
       features |= CEPH_FEATURE_OSD_CACHEPOOL;
     }
-    int ruleid = crush->find_rule(pool.second.get_crush_rule(),
-                                 pool.second.get_type(),
-                                 pool.second.get_size());
+    int ruleid = pool.second.get_crush_rule();
     if (ruleid >= 0) {
       if (crush->is_v2_rule(ruleid))
        features |= CEPH_FEATURE_CRUSH_V2;
@@ -2442,7 +2440,7 @@ void OSDMap::_pg_to_raw_osds(
   unsigned size = pool.get_size();
 
   // what crush rule?
-  int ruleno = crush->find_rule(pool.get_crush_rule(), pool.get_type(), size);
+  int ruleno = pool.get_crush_rule();
   if (ruleno >= 0)
     crush->do_rule(ruleno, pps, *osds, size, osd_weight, pg.pool());
 
@@ -4599,8 +4597,7 @@ bool OSDMap::try_pg_upmap(
   const pg_pool_t *pool = get_pg_pool(pg.pool());
   if (!pool)
     return false;
-  int rule = crush->find_rule(pool->get_crush_rule(), pool->get_type(),
-                             pool->get_size());
+  int rule = pool->get_crush_rule();
   if (rule < 0)
     return false;
 
@@ -4665,9 +4662,7 @@ int OSDMap::calc_pg_upmaps(
     total_pgs += i.second.get_size() * i.second.get_pg_num();
 
     map<int,float> pmap;
-    int ruleno = tmp.crush->find_rule(i.second.get_crush_rule(),
-                                     i.second.get_type(),
-                                     i.second.get_size());
+    int ruleno = i.second.get_crush_rule();
     tmp.crush->get_rule_weight_osd_map(ruleno, &pmap);
     ldout(cct,20) << __func__ << " pool " << i.first
                   << " ruleno " << ruleno