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 <sage@redhat.com>
(cherry picked from commit
36aaab9eee7ed41a46a4ac27376d630a29de5eb9)
<< " -> "
<< 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;
}