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.89~66^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F2856%2Fhead;p=ceph.git osd: cache pool: flush object ignoring cache min flush age when cache pool is full Signed-off-by: Xinze Chi --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 7c33887e3ab2..3acd9e21e44d 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -11553,7 +11553,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;