}
}
-int OSDMap::_pg_to_raw_osds(
+void OSDMap::_pg_to_raw_osds(
const pg_pool_t& pool, pg_t pg,
vector<int> *osds,
ps_t *ppps) const
if (ppps)
*ppps = pps;
-
- return osds->size();
}
int OSDMap::_pick_primary(const vector<int>& osds) const
}
}
-int OSDMap::pg_to_raw_osds(pg_t pg, vector<int> *raw, int *primary) const
+void OSDMap::pg_to_raw_osds(pg_t pg, vector<int> *raw, int *primary) const
{
*primary = -1;
raw->clear();
const pg_pool_t *pool = get_pg_pool(pg.pool());
if (!pool)
- return 0;
- int r = _pg_to_raw_osds(*pool, pg, raw, NULL);
+ return;
+ _pg_to_raw_osds(*pool, pg, raw, NULL);
if (primary)
*primary = _pick_primary(*raw);
- return r;
}
void OSDMap::pg_to_raw_up(pg_t pg, vector<int> *up, int *primary) const
*primary = _pick_primary(raw);
_apply_primary_affinity(pps, *pool, up, primary);
}
-
+
void OSDMap::_pg_to_up_acting_osds(
const pg_t& pg, vector<int> *up, int *up_primary,
vector<int> *acting, int *acting_primary,
private:
/// pg -> (raw osd list)
- int _pg_to_raw_osds(
+ void _pg_to_raw_osds(
const pg_pool_t& pool, pg_t pg,
vector<int> *osds,
ps_t *ppps) const;
* by anybody for data mapping purposes.
* raw and primary must be non-NULL
*/
- int pg_to_raw_osds(pg_t pg, vector<int> *raw, int *primary) const;
+ void pg_to_raw_osds(pg_t pg, vector<int> *raw, int *primary) const;
/// map a pg to its acting set. @return acting set size
- int pg_to_acting_osds(const pg_t& pg, vector<int> *acting,
+ void pg_to_acting_osds(const pg_t& pg, vector<int> *acting,
int *acting_primary) const {
_pg_to_up_acting_osds(pg, NULL, NULL, acting, acting_primary);
- return acting->size();
}
- int pg_to_acting_osds(pg_t pg, vector<int>& acting) const {
+ void pg_to_acting_osds(pg_t pg, vector<int>& acting) const {
return pg_to_acting_osds(pg, &acting, NULL);
}
/**
/* rank is -1 (stray), 0 (primary), 1,2,3,... (replica) */
int get_pg_acting_rank(pg_t pg, int osd) const {
vector<int> group;
- int nrep = pg_to_acting_osds(pg, group);
- return calc_pg_rank(osd, group, nrep);
+ pg_to_acting_osds(pg, group);
+ return calc_pg_rank(osd, group, group.size());
}
/* role is -1 (stray), 0 (primary), 1 (replica) */
int get_pg_acting_role(const pg_t& pg, int osd) const {
vector<int> group;
- int nrep = pg_to_acting_osds(pg, group);
- return calc_pg_role(osd, group, nrep);
+ pg_to_acting_osds(pg, group);
+ return calc_pg_role(osd, group, group.size());
}
bool osd_is_valid_op_target(pg_t pg, int osd) const {
int primary;
vector<int> group;
- int nrep = pg_to_acting_osds(pg, &group, &primary);
+ pg_to_acting_osds(pg, &group, &primary);
if (osd == primary)
return true;
if (pg_is_ec(pg))
return false;
- return calc_pg_role(osd, group, nrep) >= 0;
+ return calc_pg_role(osd, group, group.size()) >= 0;
}
int clean_pg_upmaps(