Lines Matching refs:osdmap
9 #include <linux/ceph/osdmap.h>
1312 /* old osdmap enconding */
1776 dout("full osdmap epoch %d max_osd %d\n", map->epoch, map->max_osd);
1782 pr_err("corrupt full osdmap (%d) epoch %d off %d (%p of %p-%p)\n",
1784 print_hex_dump(KERN_DEBUG, "osdmap: ",
2069 dout("inc osdmap epoch %d max_osd %d\n", map->epoch, map->max_osd);
2075 pr_err("corrupt inc osdmap (%d) epoch %d off %d (%p of %p-%p)\n",
2077 print_hex_dump(KERN_DEBUG, "osdmap: ",
2392 int ceph_object_locator_to_pg(struct ceph_osdmap *osdmap,
2399 pi = ceph_pg_pool_by_id(osdmap, oloc->pool);
2480 static void remove_nonexistent_osds(struct ceph_osdmap *osdmap,
2491 if (!ceph_osd_exists(osdmap, set->osds[i])) {
2502 if (!ceph_osd_exists(osdmap, set->osds[i]))
2514 static void pg_to_raw_osds(struct ceph_osdmap *osdmap,
2528 ruleno = crush_find_rule(osdmap->crush, pi->crush_ruleset, pi->type,
2543 len = do_crush(osdmap, ruleno, pps, raw->osds, pi->size,
2544 osdmap->osd_weight, osdmap->max_osd, pi->id);
2553 remove_nonexistent_osds(osdmap, pi, raw);
2557 static void apply_upmap(struct ceph_osdmap *osdmap,
2564 pg = lookup_pg_mapping(&osdmap->pg_upmap, pgid);
2571 osd < osdmap->max_osd &&
2572 osdmap->osd_weight[osd] == 0) {
2583 pg = lookup_pg_mapping(&osdmap->pg_upmap_items, pgid);
2606 to < osdmap->max_osd &&
2607 osdmap->osd_weight[to] == 0)) {
2624 static void raw_to_up_osds(struct ceph_osdmap *osdmap,
2638 if (ceph_osd_is_down(osdmap, set->osds[i])) {
2651 if (ceph_osd_is_down(osdmap, set->osds[i]))
2659 static void apply_primary_affinity(struct ceph_osdmap *osdmap,
2671 if (!osdmap->osd_primary_affinity)
2678 osdmap->osd_primary_affinity[osd] !=
2698 aff = osdmap->osd_primary_affinity[osd];
2735 static void get_temp_osds(struct ceph_osdmap *osdmap,
2746 pg = lookup_pg_mapping(&osdmap->pg_temp, pgid);
2749 if (ceph_osd_is_down(osdmap, pg->pg_temp.osds[i])) {
2769 pg = lookup_pg_mapping(&osdmap->primary_temp, pgid);
2781 void ceph_pg_to_up_acting_osds(struct ceph_osdmap *osdmap,
2793 pg_to_raw_osds(osdmap, pi, raw_pgid, up, &pps);
2794 apply_upmap(osdmap, &pgid, up);
2795 raw_to_up_osds(osdmap, pi, up);
2796 apply_primary_affinity(osdmap, pi, pps, up);
2797 get_temp_osds(osdmap, pi, &pgid, acting);
2807 bool ceph_pg_to_primary_shard(struct ceph_osdmap *osdmap,
2825 ceph_pg_to_up_acting_osds(osdmap, pi, &pgid, &up, &acting);
2840 int ceph_pg_to_acting_primary(struct ceph_osdmap *osdmap,
2846 pi = ceph_pg_pool_by_id(osdmap, raw_pgid->pool);
2850 ceph_pg_to_up_acting_osds(osdmap, pi, raw_pgid, &up, &acting);
3052 int ceph_get_crush_locality(struct ceph_osdmap *osdmap, int id,
3064 id = get_immediate_parent(osdmap->crush, id, &type_id, &loc);