From: Sage Weil Date: Tue, 9 Jul 2019 16:13:57 +0000 (-0500) Subject: mon/OSDMonitor: forward -> proxy, readforward -> readproxy on octopus X-Git-Tag: v15.1.0~2232^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4a2064467d719f132a2c5d094301e03ff4b1f625;p=ceph.git mon/OSDMonitor: forward -> proxy, readforward -> readproxy on octopus Adjust cache modes on upgrade. Signed-off-by: Sage Weil --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 45a62095fc46..86d9eb486e2c 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -1486,6 +1486,27 @@ void OSDMonitor::encode_pending(MonitorDBStore::TransactionRef t) tmp.require_osd_release >= ceph_release_t::octopus) { dout(10) << __func__ << " first octopus+ epoch" << dendl; + // adjust obsoleted cache modes + for (auto& [poolid, pi] : tmp.pools) { + if (pi.cache_mode == pg_pool_t::CACHEMODE_FORWARD) { + if (pending_inc.new_pools.count(poolid) == 0) { + pending_inc.new_pools[poolid] = pi; + } + dout(10) << __func__ << " switching pool " << poolid + << " cachemode from forward -> proxy" << dendl; + pending_inc.new_pools[poolid].cache_mode = pg_pool_t::CACHEMODE_PROXY; + } + if (pi.cache_mode == pg_pool_t::CACHEMODE_READFORWARD) { + if (pending_inc.new_pools.count(poolid) == 0) { + pending_inc.new_pools[poolid] = pi; + } + dout(10) << __func__ << " switching pool " << poolid + << " cachemode from readforward -> readproxy" << dendl; + pending_inc.new_pools[poolid].cache_mode = + pg_pool_t::CACHEMODE_READPROXY; + } + } + // clear removed_snaps for every pool for (auto& [poolid, pi] : tmp.pools) { if (pi.removed_snaps.empty()) {