From 36aaab9eee7ed41a46a4ac27376d630a29de5eb9 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 25 Jul 2014 14:43:48 -0700 Subject: [PATCH] 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 --- src/osd/ReplicatedPG.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 1d3af34c33f..d38d7e13cf7 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; } -- 2.47.3