Advertisement
Guest User

Untitled

a guest
May 18th, 2012
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #include "osd/OSDMap.h"
  2. #include "common/code_environment.h"
  3.  
  4. int main() {
  5. OSDMap *osdmap = new OSDMap();
  6. CephContext *cct = new CephContext(CODE_ENVIRONMENT_UTILITY);
  7. uuid_d fsid;
  8. int num_osds = 10;
  9. osdmap->build_simple(cct, 1, fsid, num_osds, 7, 8, 9);
  10. for(int i = 0; i < num_osds; i++) {
  11. osdmap->set_state(i, osdmap->get_state(i) | CEPH_OSD_UP | CEPH_OSD_EXISTS);
  12. osdmap->set_weight(i, CEPH_OSD_IN);
  13. }
  14. osdmap->print(cout);
  15. osdmap->print_tree(cout);
  16.  
  17. int i;
  18. for(i = 0; i < 4; i++) {
  19. int j;
  20. for(j = 0; j < 4; j++) {
  21. char foo[20];
  22. snprintf(foo, sizeof(foo), "%08x.%08x", i, j);
  23. object_t oid(foo);
  24. object_locator_t oloc(1);
  25. pg_t pgid = osdmap->object_locator_to_pg(oid, oloc);
  26. vector<int> osds;
  27. osdmap->pg_to_osds(pgid, osds);
  28. cout << "OID: " << oid << " PG: " << pgid << " OSDs: " << osds << std::endl;
  29. }
  30. }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement