]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: need to queue op when avoiding dup promotion in
authorZhiqiang Wang <zhiqiang.wang@intel.com>
Fri, 24 Apr 2015 11:31:31 +0000 (19:31 +0800)
committerZhiqiang Wang <zhiqiang.wang@intel.com>
Thu, 21 May 2015 04:38:30 +0000 (12:38 +0800)
maybe_handle_cache

Need to queue the op before returning from maybe_handle_cache.
Otherwise, this op is lost.

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
src/osd/ReplicatedPG.cc

index 4c549a5fd3d39bbaca0b7adc821744054b473115..b5e80d4b227655b46d8a8d7ab916051e380cfc56 100644 (file)
@@ -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;
     }