From: Sage Weil Date: Fri, 25 Jul 2014 21:43:48 +0000 (-0700) Subject: osd/ReplicatedPG: fix cache full -> not full requeueing when !active X-Git-Tag: v0.84~48^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=36aaab9eee7ed41a46a4ac27376d630a29de5eb9;p=ceph.git osd/ReplicatedPG: fix cache full -> not full requeueing when !active We only want to do this if is_active(). Otherwise, the normal requeueing code will do its thing, taking care to get the queue orders correct. Backport: firefly Signed-off-by: Sage Weil --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 1d3af34c33ff..d38d7e13cf77 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -11573,8 +11573,10 @@ void ReplicatedPG::agent_choose_mode(bool restart) << " -> " << TierAgentState::get_evict_mode_name(evict_mode) << dendl; - if (agent_state->evict_mode == TierAgentState::EVICT_MODE_FULL) { + if (agent_state->evict_mode == TierAgentState::EVICT_MODE_FULL && + is_active()) { requeue_ops(waiting_for_cache_not_full); + requeue_ops(waiting_for_active); } agent_state->evict_mode = evict_mode; }