From: Sage Weil Date: Thu, 31 Jul 2014 16:26:03 +0000 (-0700) Subject: osd/ReplicatedPG: evict blindly if there is no hit_set X-Git-Tag: v0.80.6~98 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=76a519b215e591e0948d627fb1de826ed0bf415d;p=ceph.git osd/ReplicatedPG: evict blindly if there is no hit_set 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 (cherry picked from commit ea4996d3ef15c5d5a776d162b08d9fad6859c976) --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 4a2b740b9fdf..434f9dc24725 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -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*/);