}
decode(ec_profile, p);
}
- PGPool pool(cct, createmap, pgid.pool(), pi, name);
+ PGPool pool(createmap, pgid.pool(), pi, name);
PG *pg;
if (pi.type == pg_pool_t::TYPE_REPLICATED ||
pi.type == pg_pool_t::TYPE_ERASURE)
}
}
-void PGPool::update(CephContext *cct, OSDMapRef map)
+void PGPool::update(OSDMapRef map)
{
const pg_pool_t *pi = map->get_pg_pool(id);
if (!pi) {
<< dendl;
update_osdmap_ref(osdmap);
- pool.update(cct, osdmap);
+ pool.update(osdmap);
AdvMap evt(
osdmap, lastmap, newup, up_primary,
if (pool.info.last_change == osdmap_ref->get_epoch()) {
pl->on_pool_change();
}
- readable_interval = pool.get_readable_interval();
+ readable_interval = pool.get_readable_interval(cct->_conf);
last_require_osd_release = osdmap->require_osd_release;
}
#include "common/ostream_temp.h"
struct PGPool {
- CephContext* cct;
epoch_t cached_epoch;
int64_t id;
std::string name;
pg_pool_t info;
SnapContext snapc; // the default pool snapc, ready to go.
- PGPool(CephContext* cct, OSDMapRef map, int64_t i, const pg_pool_t& info,
+ PGPool(OSDMapRef map, int64_t i, const pg_pool_t& info,
const std::string& name)
- : cct(cct),
- cached_epoch(map->get_epoch()),
+ : cached_epoch(map->get_epoch()),
id(i),
name(name),
info(info) {
snapc = info.get_snap_context();
}
- void update(CephContext *cct, OSDMapRef map);
+ void update(OSDMapRef map);
- ceph::timespan get_readable_interval() const {
+ ceph::timespan get_readable_interval(ConfigProxy &conf) const {
double v = 0;
if (info.opts.get(pool_opts_t::READ_LEASE_INTERVAL, &v)) {
return ceph::make_timespan(v);
} else {
- auto hbi = cct->_conf->osd_heartbeat_grace;
- auto fac = cct->_conf->osd_pool_default_read_lease_ratio;
+ auto hbi = conf->osd_heartbeat_grace;
+ auto fac = conf->osd_pool_default_read_lease_ratio;
return ceph::make_timespan(hbi * fac);
}
}