From: Sage Weil Date: Fri, 27 Apr 2012 04:57:23 +0000 (-0700) Subject: Merge branch 'wip-lpg' X-Git-Tag: v0.47~94 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=05b4fb33a1c8727089cf4283a612b94b95981cd1;p=ceph.git Merge branch 'wip-lpg' Conflicts: src/osd/OSDMap.h --- 05b4fb33a1c8727089cf4283a612b94b95981cd1 diff --cc src/osd/OSDMap.h index db5d0141d81e7,7cd8ed321835b..f533e524931cf --- a/src/osd/OSDMap.h +++ b/src/osd/OSDMap.h @@@ -488,19 -461,15 +482,14 @@@ private // map to osds[] ps_t pps = pool.raw_pg_to_pps(pg); // placement ps unsigned size = pool.get_size(); -- { - int preferred = pg.preferred(); - if (preferred >= max_osd || preferred >= crush.get_max_devices()) - preferred = -1; - - // what crush rule? - int ruleno = crush.find_rule(pool.get_crush_ruleset(), pool.get_type(), size); - if (ruleno >= 0) - crush.do_rule(ruleno, pps, osds, size, preferred, osd_weight); - } - assert(get_max_osd() >= crush.get_max_devices()); + - // what crush rule? - int ruleno = crush.find_rule(pool.get_crush_ruleset(), pool.get_type(), size); - if (ruleno >= 0) - crush.do_rule(ruleno, pps, osds, size, -1, osd_weight); - } ++ // what crush rule? ++ int ruleno = crush.find_rule(pool.get_crush_ruleset(), pool.get_type(), size); ++ if (ruleno >= 0) ++ crush.do_rule(ruleno, pps, osds, size, -1, osd_weight); + _remove_nonexistent_osds(osds); + return osds.size(); }