for (vector<ObjectExtent>::iterator i = extents.begin();
i != extents.end(); ++i) {
- int osd = client->osdmap->get_pg_primary(client->osdmap->object_locator_to_pg(i->oid, i->oloc));
+ int osd = client->osdmap->get_pg_acting_primary(client->osdmap->object_locator_to_pg(i->oid, i->oloc));
// run through all the buffer extents
for (vector<pair<uint64_t, uint64_t> >::iterator j = i->buffer_extents.begin();
int SyntheticClient::check_first_primary(int fh) {
vector<ObjectExtent> extents;
client->enumerate_layout(fh, extents, 1, 0);
- return client->osdmap->get_pg_primary(client->osdmap->object_locator_to_pg(extents.begin()->oid,
+ return client->osdmap->get_pg_acting_primary(client->osdmap->object_locator_to_pg(extents.begin()->oid,
extents.begin()->oloc));
}
return pools.find(pg.pool())->second.raw_pg_to_pg(pg);
}
- // pg -> primary osd
- int get_pg_primary(pg_t pg) const {
- vector<int> group;
- int nrep = pg_to_osds(pg, group);
- if (nrep)
- return group[0];
- return -1; // we fail!
- }
-
// pg -> acting primary osd
int get_pg_acting_primary(pg_t pg) const {
vector<int> group;