recovery_state.handle_event(q, 0);
}
-void PG::update_store_with_options(const pool_opts_t &opts)
+void PG::on_pool_change()
{
- auto r = osd->store->set_collection_opts(ch, opts);
+ auto r = osd->store->set_collection_opts(ch, pool.info.opts);
if(r < 0 && r != -EOPNOTSUPP) {
derr << __func__ << " set_collection_opts returns error:" << r << dendl;
}
+ plpg_on_pool_change();
}
void PG::C_DeleteMore::complete(int r) {
void on_role_change() override;
virtual void plpg_on_role_change() = 0;
+ void on_pool_change() override;
+ virtual void plpg_on_pool_change() = 0;
+
+
void clear_publish_stats() override;
void clear_primary_state() override;
bool need_update_epoch,
map<string,bufferlist> *km);
- void update_store_with_options(const pool_opts_t &opts) override;
-
static int _prepare_write_info(
CephContext* cct,
map<string,bufferlist> *km,
handle_event(evt, rctx);
if (pool.info.last_change == osdmap_ref->get_epoch()) {
pl->on_pool_change();
- pl->update_store_with_options(pool.info.opts);
}
last_require_osd_release = osdmap->require_osd_release;
}
bool dirty_big_info,
bool need_write_epoch,
ObjectStore::Transaction &t) = 0;
- virtual void update_store_with_options(const pool_opts_t &opts) = 0;
virtual void update_heartbeat_peers(set<int> peers) = 0;
virtual void reg_next_scrub() = 0;
}
}
-void PrimaryLogPG::on_pool_change()
+void PrimaryLogPG::plpg_on_pool_change()
{
dout(10) << __func__ << dendl;
// requeue cache full waiters just in case the cache_mode is
OpRequestRef &op);
void plpg_on_role_change() override;
- void on_pool_change() override;
+ void plpg_on_pool_change() override;
void plpg_on_new_interval() override;
void clear_async_reads();
void on_change(ObjectStore::Transaction *t) override;