From: Xinze Chi Date: Wed, 5 Nov 2014 01:00:01 +0000 (+0000) Subject: osd: cache pool: flush object ignoring cache min flush age when cache pool is full X-Git-Tag: v0.80.11~70^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3f2fb8a996820843d0287a9337d38d80c7cb616b;p=ceph.git osd: cache pool: flush object ignoring cache min flush age when cache pool is full Signed-off-by: Xinze Chi (cherry picked from commit f4ee9496ed15e7734abd659f5a353a3cde0dcb23) --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index a2ebb8b01b9..b5a99ccddcd 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -11387,7 +11387,8 @@ bool ReplicatedPG::agent_maybe_flush(ObjectContextRef& obc) } else { ob_local_mtime = obc->obs.oi.mtime; } - if (ob_local_mtime + utime_t(pool.info.cache_min_flush_age, 0) > now) { + bool evict_mode_full = (agent_state->evict_mode == TierAgentState::EVICT_MODE_FULL); + if (!evict_mode_full && (ob_local_mtime + utime_t(pool.info.cache_min_flush_age, 0) > now)) { dout(20) << __func__ << " skip (too young) " << obc->obs.oi << dendl; osd->logger->inc(l_osd_agent_skip); return false;