From e3f42e0d0d0a16ca9214cfaf5efddc3e59cd9c72 Mon Sep 17 00:00:00 2001 From: "sjust@redhat.com" Date: Wed, 27 Mar 2019 15:43:27 -0700 Subject: [PATCH] osd/: merge update_store_with_options with on_pool_change Signed-off-by: sjust@redhat.com --- src/osd/PG.cc | 5 +++-- src/osd/PG.h | 6 ++++-- src/osd/PeeringState.cc | 1 - src/osd/PeeringState.h | 1 - src/osd/PrimaryLogPG.cc | 2 +- src/osd/PrimaryLogPG.h | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index a579167340a..98d6a546e7a 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -6155,12 +6155,13 @@ void PG::handle_query_state(Formatter *f) 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) { diff --git a/src/osd/PG.h b/src/osd/PG.h index 8c61d4f002a..003050f0731 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -417,6 +417,10 @@ public: 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; @@ -1518,8 +1522,6 @@ public: bool need_update_epoch, map *km); - void update_store_with_options(const pool_opts_t &opts) override; - static int _prepare_write_info( CephContext* cct, map *km, diff --git a/src/osd/PeeringState.cc b/src/osd/PeeringState.cc index 18a38ee4485..0f035a40139 100644 --- a/src/osd/PeeringState.cc +++ b/src/osd/PeeringState.cc @@ -348,7 +348,6 @@ void PeeringState::advance_map( 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; } diff --git a/src/osd/PeeringState.h b/src/osd/PeeringState.h index b5f887c5457..249ac29553b 100644 --- a/src/osd/PeeringState.h +++ b/src/osd/PeeringState.h @@ -64,7 +64,6 @@ public: 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 peers) = 0; virtual void reg_next_scrub() = 0; diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index e4307c6e91f..647e2f321d6 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -12317,7 +12317,7 @@ void PrimaryLogPG::plpg_on_role_change() } } -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 diff --git a/src/osd/PrimaryLogPG.h b/src/osd/PrimaryLogPG.h index c101df13cc6..e31a099fb5f 100644 --- a/src/osd/PrimaryLogPG.h +++ b/src/osd/PrimaryLogPG.h @@ -1859,7 +1859,7 @@ public: 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; -- 2.39.5