mirror of
https://github.com/ceph/ceph
synced 2024-12-17 17:05:42 +00:00
osd: trigger the cache agent after a promotion
When a proxy read happens, the object promotion is done in parallel. The agent_choose_mode function must be called to reconsider the situation to protect against the following scenario: * proxy read * agent_choose_mode finds no object exists and the agent goes idle * object promotion happens * the agent does not reconsider and eviction does not happen although it should http://tracker.ceph.com/issues/12673 Fixes: #12673 Signed-off-by: Loic Dachary <ldachary@redhat.com>
This commit is contained in:
parent
d8d6bb898d
commit
e1f58feb9b
@ -6775,6 +6775,10 @@ void ReplicatedPG::finish_promote(int r, CopyResults *results,
|
||||
simple_repop_submit(repop);
|
||||
|
||||
osd->logger->inc(l_osd_tier_promote);
|
||||
|
||||
assert(agent_state);
|
||||
if (agent_state->is_idle())
|
||||
agent_choose_mode();
|
||||
}
|
||||
|
||||
void ReplicatedPG::cancel_copy(CopyOpRef cop, bool requeue)
|
||||
|
Loading…
Reference in New Issue
Block a user