]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: evict blindly if there is no hit_set
authorSage Weil <sage@redhat.com>
Thu, 31 Jul 2014 16:26:03 +0000 (09:26 -0700)
committerSage Weil <sage@redhat.com>
Tue, 12 Aug 2014 22:03:10 +0000 (15:03 -0700)
If there is no hit set for a PG, blindly evict objects.  This avoids an
assert(hit_set) in agent_estimate_atime_temp().

Fixes: #8982
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit ea4996d3ef15c5d5a776d162b08d9fad6859c976)

src/osd/ReplicatedPG.cc

index 4a2b740b9fdfa49be5170e1c715b90c880747023..434f9dc24725f01ba9405c627b002fb018c9216c 100644 (file)
@@ -11313,7 +11313,8 @@ bool ReplicatedPG::agent_maybe_evict(ObjectContextRef& obc)
     }
   }
 
-  if (agent_state->evict_mode != TierAgentState::EVICT_MODE_FULL) {
+  if (agent_state->evict_mode != TierAgentState::EVICT_MODE_FULL &&
+      hit_set) {
     // is this object old and/or cold enough?
     int atime = -1, temp = 0;
     agent_estimate_atime_temp(soid, &atime, NULL /*FIXME &temp*/);