vector<int> first_count(n, 0);
vector<int> primary_count(n, 0);
vector<int> size(30, 0);
+ int max_size = 0;
if (test_random)
srand(getpid());
auto& pools = osdmap.get_pools();
} else if (test_map_pgs_dump_all) {
osdmap.pg_to_raw_osds(pgid, &raw, &calced_primary);
osdmap.pg_to_up_acting_osds(pgid, &up, &up_primary,
- &acting, &acting_primary);
+ &acting, &acting_primary);
+ osds = acting;
+ primary = acting_primary;
} else {
osdmap.pg_to_acting_osds(pgid, &osds, &primary);
}
size[osds.size()]++;
+ if ((unsigned)max_size < osds.size())
+ max_size = osds.size();
if (test_map_pgs_dump) {
cout << pgid << "\t" << osds << "\t" << primary << std::endl;
if (max_osd >= 0)
cout << " max osd." << max_osd << " " << count[max_osd] << std::endl;
- for (int i=0; i<4; i++) {
- cout << "size " << i << "\t" << size[i] << std::endl;
+ for (int i=0; i<=max_size; i++) {
+ if (size[i])
+ cout << "size " << i << "\t" << size[i] << std::endl;
}
}
if (test_crush) {