Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "osd/OSDMap.h"
- #include "common/code_environment.h"
- int main() {
- OSDMap *osdmap = new OSDMap();
- CephContext *cct = new CephContext(CODE_ENVIRONMENT_UTILITY);
- uuid_d fsid;
- int num_osds = 10;
- osdmap->build_simple(cct, 1, fsid, num_osds, 7, 8, 9);
- for(int i = 0; i < num_osds; i++) {
- osdmap->set_state(i, osdmap->get_state(i) | CEPH_OSD_UP | CEPH_OSD_EXISTS);
- osdmap->set_weight(i, CEPH_OSD_IN);
- }
- osdmap->print(cout);
- osdmap->print_tree(cout);
- int i;
- for(i = 0; i < 4; i++) {
- int j;
- for(j = 0; j < 4; j++) {
- char foo[20];
- snprintf(foo, sizeof(foo), "%08x.%08x", i, j);
- object_t oid(foo);
- object_locator_t oloc(1);
- pg_t pgid = osdmap->object_locator_to_pg(oid, oloc);
- vector<int> osds;
- osdmap->pg_to_osds(pgid, osds);
- cout << "OID: " << oid << " PG: " << pgid << " OSDs: " << osds << std::endl;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement