diff --git a/src/mon/PGMonitor.cc b/src/mon/PGMonitor.cc index 3568d578c3f8d..4ae4a038f1b09 100644 --- a/src/mon/PGMonitor.cc +++ b/src/mon/PGMonitor.cc @@ -1023,8 +1023,8 @@ bool PGMonitor::register_new_pgs() ++p) { int64_t poolid = p->first; pg_pool_t &pool = p->second; - int ruleno = pool.get_crush_ruleset(); - if (!osdmap->crush->rule_exists(ruleno)) + int ruleno = osdmap->crush->find_rule(pool.get_crush_ruleset(), pool.get_type(), pool.get_size()); + if (ruleno < 0 || !osdmap->crush->rule_exists(ruleno)) continue; if (pool.get_last_change() <= pg_map.last_pg_scan ||