]> 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 2856/head
authorXinze Chi <xmdxcxz@gmail.com>
Wed, 5 Nov 2014 01:00:01 +0000 (01:00 +0000)
committerXinze Chi <xmdxcxz@gmail.com>
Wed, 5 Nov 2014 01:00:01 +0000 (01:00 +0000)
Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
src/osd/ReplicatedPG.cc

index 7c33887e3ab2096458f7ef228706e62d2d906cee..3acd9e21e44d9f297dd575dbad4681ad757ae4a6 100644 (file)
@@ -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;