]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: cache pool: flush object ignoring cache min flush age when cache pool is full 5051/head
authorXinze Chi <xmdxcxz@gmail.com>
Wed, 5 Nov 2014 01:00:01 +0000 (01:00 +0000)
committerNathan Cutler <ncutler@suse.com>
Mon, 22 Jun 2015 19:58:53 +0000 (21:58 +0200)
Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
(cherry picked from commit f4ee9496ed15e7734abd659f5a353a3cde0dcb23)

src/osd/ReplicatedPG.cc

index a2ebb8b01b920c0bcd7a783a31e96f541e75e85d..b5a99ccddcd0e1631c21babd4bfc369b0eb969fb 100644 (file)
@@ -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;