Lines Matching refs:pg
709 struct ceph_pg_mapping *pg; in alloc_pg_mapping() local
711 pg = kmalloc(sizeof(*pg) + payload_len, GFP_NOIO); in alloc_pg_mapping()
712 if (!pg) in alloc_pg_mapping()
715 RB_CLEAR_NODE(&pg->node); in alloc_pg_mapping()
716 return pg; in alloc_pg_mapping()
719 static void free_pg_mapping(struct ceph_pg_mapping *pg) in free_pg_mapping() argument
721 WARN_ON(!RB_EMPTY_NODE(&pg->node)); in free_pg_mapping()
723 kfree(pg); in free_pg_mapping()
1152 struct ceph_pg_mapping *pg = in ceph_osdmap_destroy() local
1155 erase_pg_mapping(&map->pg_temp, pg); in ceph_osdmap_destroy()
1156 free_pg_mapping(pg); in ceph_osdmap_destroy()
1159 struct ceph_pg_mapping *pg = in ceph_osdmap_destroy() local
1162 erase_pg_mapping(&map->primary_temp, pg); in ceph_osdmap_destroy()
1163 free_pg_mapping(pg); in ceph_osdmap_destroy()
1166 struct ceph_pg_mapping *pg = in ceph_osdmap_destroy() local
1169 rb_erase(&pg->node, &map->pg_upmap); in ceph_osdmap_destroy()
1170 kfree(pg); in ceph_osdmap_destroy()
1173 struct ceph_pg_mapping *pg = in ceph_osdmap_destroy() local
1176 rb_erase(&pg->node, &map->pg_upmap_items); in ceph_osdmap_destroy()
1177 kfree(pg); in ceph_osdmap_destroy()
1399 struct ceph_pg_mapping *pg; in decode_pg_mapping() local
1407 pg = lookup_pg_mapping(mapping_root, &pgid); in decode_pg_mapping()
1408 if (pg) { in decode_pg_mapping()
1410 erase_pg_mapping(mapping_root, pg); in decode_pg_mapping()
1411 free_pg_mapping(pg); in decode_pg_mapping()
1415 pg = fn(p, end, incremental); in decode_pg_mapping()
1416 if (IS_ERR(pg)) in decode_pg_mapping()
1417 return PTR_ERR(pg); in decode_pg_mapping()
1419 if (pg) { in decode_pg_mapping()
1420 pg->pgid = pgid; /* struct */ in decode_pg_mapping()
1421 insert_pg_mapping(mapping_root, pg); in decode_pg_mapping()
1435 struct ceph_pg_mapping *pg; in __decode_pg_temp() local
1441 if (len > (SIZE_MAX - sizeof(*pg)) / sizeof(u32)) in __decode_pg_temp()
1445 pg = alloc_pg_mapping(len * sizeof(u32)); in __decode_pg_temp()
1446 if (!pg) in __decode_pg_temp()
1449 pg->pg_temp.len = len; in __decode_pg_temp()
1451 pg->pg_temp.osds[i] = ceph_decode_32(p); in __decode_pg_temp()
1453 return pg; in __decode_pg_temp()
1474 struct ceph_pg_mapping *pg; in __decode_primary_temp() local
1481 pg = alloc_pg_mapping(0); in __decode_primary_temp()
1482 if (!pg) in __decode_primary_temp()
1485 pg->primary_temp.osd = osd; in __decode_primary_temp()
1486 return pg; in __decode_primary_temp()
1620 struct ceph_pg_mapping *pg; in __decode_pg_upmap_items() local
1624 if (len > (SIZE_MAX - sizeof(*pg)) / (2 * sizeof(u32))) in __decode_pg_upmap_items()
1628 pg = alloc_pg_mapping(2 * len * sizeof(u32)); in __decode_pg_upmap_items()
1629 if (!pg) in __decode_pg_upmap_items()
1632 pg->pg_upmap_items.len = len; in __decode_pg_upmap_items()
1634 pg->pg_upmap_items.from_to[i][0] = ceph_decode_32(p); in __decode_pg_upmap_items()
1635 pg->pg_upmap_items.from_to[i][1] = ceph_decode_32(p); in __decode_pg_upmap_items()
1638 return pg; in __decode_pg_upmap_items()
2596 struct ceph_pg_mapping *pg; in apply_upmap() local
2599 pg = lookup_pg_mapping(&osdmap->pg_upmap, pgid); in apply_upmap()
2600 if (pg) { in apply_upmap()
2602 for (i = 0; i < pg->pg_upmap.len; i++) { in apply_upmap()
2603 int osd = pg->pg_upmap.osds[i]; in apply_upmap()
2612 for (i = 0; i < pg->pg_upmap.len; i++) in apply_upmap()
2613 raw->osds[i] = pg->pg_upmap.osds[i]; in apply_upmap()
2614 raw->size = pg->pg_upmap.len; in apply_upmap()
2618 pg = lookup_pg_mapping(&osdmap->pg_upmap_items, pgid); in apply_upmap()
2619 if (pg) { in apply_upmap()
2624 for (i = 0; i < pg->pg_upmap_items.len; i++) { in apply_upmap()
2625 int from = pg->pg_upmap_items.from_to[i][0]; in apply_upmap()
2626 int to = pg->pg_upmap_items.from_to[i][1]; in apply_upmap()
2775 struct ceph_pg_mapping *pg; in get_temp_osds() local
2781 pg = lookup_pg_mapping(&osdmap->pg_temp, pgid); in get_temp_osds()
2782 if (pg) { in get_temp_osds()
2783 for (i = 0; i < pg->pg_temp.len; i++) { in get_temp_osds()
2784 if (ceph_osd_is_down(osdmap, pg->pg_temp.osds[i])) { in get_temp_osds()
2790 temp->osds[temp->size++] = pg->pg_temp.osds[i]; in get_temp_osds()
2804 pg = lookup_pg_mapping(&osdmap->primary_temp, pgid); in get_temp_osds()
2805 if (pg) in get_temp_osds()
2806 temp->primary = pg->primary_temp.osd; in get_temp_osds()