From: Zhiqiang Wang Date: Fri, 24 Apr 2015 11:31:31 +0000 (+0800) Subject: osd/ReplicatedPG: need to queue op when avoiding dup promotion in X-Git-Tag: v9.0.3~59^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d118e56f0b8a3c0d016dd33dc70fd6451f082cdb;p=ceph.git osd/ReplicatedPG: need to queue op when avoiding dup promotion in maybe_handle_cache Need to queue the op before returning from maybe_handle_cache. Otherwise, this op is lost. Signed-off-by: Zhiqiang Wang --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 4c549a5fd3d3..b5e80d4b2276 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1852,6 +1852,9 @@ bool ReplicatedPG::maybe_handle_cache(OpRequestRef op, // Avoid duplicate promotion if (obc.get() && obc->is_blocked()) { + if (!can_proxy_read) { + wait_for_blocked_object(obc->obs.oi.soid, op); + } return true; }