From 3f2fb8a996820843d0287a9337d38d80c7cb616b Mon Sep 17 00:00:00 2001 From: Xinze Chi Date: Wed, 5 Nov 2014 01:00:01 +0000 Subject: [PATCH] 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) --- src/osd/ReplicatedPG.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index a2ebb8b01b920..b5a99ccddcd0e 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; -- 2.39.5