Lines Matching refs:pg
613 struct ceph_pg_mapping *pg; in alloc_pg_mapping() local
615 pg = kmalloc(sizeof(*pg) + payload_len, GFP_NOIO); in alloc_pg_mapping()
616 if (!pg) in alloc_pg_mapping()
619 RB_CLEAR_NODE(&pg->node); in alloc_pg_mapping()
620 return pg; in alloc_pg_mapping()
623 static void free_pg_mapping(struct ceph_pg_mapping *pg) in free_pg_mapping() argument
625 WARN_ON(!RB_EMPTY_NODE(&pg->node)); in free_pg_mapping()
627 kfree(pg); in free_pg_mapping()
944 struct ceph_pg_mapping *pg = in ceph_osdmap_destroy() local
947 erase_pg_mapping(&map->pg_temp, pg); in ceph_osdmap_destroy()
948 free_pg_mapping(pg); in ceph_osdmap_destroy()
951 struct ceph_pg_mapping *pg = in ceph_osdmap_destroy() local
954 erase_pg_mapping(&map->primary_temp, pg); in ceph_osdmap_destroy()
955 free_pg_mapping(pg); in ceph_osdmap_destroy()
958 struct ceph_pg_mapping *pg = in ceph_osdmap_destroy() local
961 rb_erase(&pg->node, &map->pg_upmap); in ceph_osdmap_destroy()
962 kfree(pg); in ceph_osdmap_destroy()
965 struct ceph_pg_mapping *pg = in ceph_osdmap_destroy() local
968 rb_erase(&pg->node, &map->pg_upmap_items); in ceph_osdmap_destroy()
969 kfree(pg); in ceph_osdmap_destroy()
1179 struct ceph_pg_mapping *pg;
1187 pg = lookup_pg_mapping(mapping_root, &pgid);
1188 if (pg) {
1190 erase_pg_mapping(mapping_root, pg);
1191 free_pg_mapping(pg);
1195 pg = fn(p, end, incremental);
1196 if (IS_ERR(pg))
1197 return PTR_ERR(pg);
1199 if (pg) {
1200 pg->pgid = pgid; /* struct */
1201 insert_pg_mapping(mapping_root, pg);
1215 struct ceph_pg_mapping *pg; in __decode_pg_temp() local
1221 if (len > (SIZE_MAX - sizeof(*pg)) / sizeof(u32)) in __decode_pg_temp()
1225 pg = alloc_pg_mapping(len * sizeof(u32)); in __decode_pg_temp()
1226 if (!pg) in __decode_pg_temp()
1229 pg->pg_temp.len = len; in __decode_pg_temp()
1231 pg->pg_temp.osds[i] = ceph_decode_32(p); in __decode_pg_temp()
1233 return pg; in __decode_pg_temp()
1254 struct ceph_pg_mapping *pg; in __decode_primary_temp() local
1261 pg = alloc_pg_mapping(0); in __decode_primary_temp()
1262 if (!pg) in __decode_primary_temp()
1265 pg->primary_temp.osd = osd; in __decode_primary_temp()
1266 return pg; in __decode_primary_temp()
1400 struct ceph_pg_mapping *pg; in __decode_pg_upmap_items() local
1404 if (len > (SIZE_MAX - sizeof(*pg)) / (2 * sizeof(u32))) in __decode_pg_upmap_items()
1408 pg = alloc_pg_mapping(2 * len * sizeof(u32)); in __decode_pg_upmap_items()
1409 if (!pg) in __decode_pg_upmap_items()
1412 pg->pg_upmap_items.len = len; in __decode_pg_upmap_items()
1414 pg->pg_upmap_items.from_to[i][0] = ceph_decode_32(p); in __decode_pg_upmap_items()
1415 pg->pg_upmap_items.from_to[i][1] = ceph_decode_32(p); in __decode_pg_upmap_items()
1418 return pg; in __decode_pg_upmap_items()
2352 struct ceph_pg_mapping *pg; in apply_upmap() local
2355 pg = lookup_pg_mapping(&osdmap->pg_upmap, pgid); in apply_upmap()
2356 if (pg) { in apply_upmap()
2358 for (i = 0; i < pg->pg_upmap.len; i++) { in apply_upmap()
2359 int osd = pg->pg_upmap.osds[i]; in apply_upmap()
2368 for (i = 0; i < pg->pg_upmap.len; i++) in apply_upmap()
2369 raw->osds[i] = pg->pg_upmap.osds[i]; in apply_upmap()
2370 raw->size = pg->pg_upmap.len; in apply_upmap()
2374 pg = lookup_pg_mapping(&osdmap->pg_upmap_items, pgid); in apply_upmap()
2375 if (pg) { in apply_upmap()
2380 for (i = 0; i < pg->pg_upmap_items.len; i++) { in apply_upmap()
2381 int from = pg->pg_upmap_items.from_to[i][0]; in apply_upmap()
2382 int to = pg->pg_upmap_items.from_to[i][1]; in apply_upmap()
2531 struct ceph_pg_mapping *pg; in get_temp_osds() local
2537 pg = lookup_pg_mapping(&osdmap->pg_temp, pgid); in get_temp_osds()
2538 if (pg) { in get_temp_osds()
2539 for (i = 0; i < pg->pg_temp.len; i++) { in get_temp_osds()
2540 if (ceph_osd_is_down(osdmap, pg->pg_temp.osds[i])) { in get_temp_osds()
2546 temp->osds[temp->size++] = pg->pg_temp.osds[i]; in get_temp_osds()
2560 pg = lookup_pg_mapping(&osdmap->primary_temp, pgid); in get_temp_osds()
2561 if (pg) in get_temp_osds()
2562 temp->primary = pg->primary_temp.osd; in get_temp_osds()