]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: tiering: avoid duplicate promotion on proxy read
authorZhiqiang Wang <zhiqiang.wang@intel.com>
Fri, 28 Nov 2014 08:30:20 +0000 (16:30 +0800)
committerSage Weil <sage@redhat.com>
Sun, 11 Jan 2015 04:35:30 +0000 (20:35 -0800)
Do not promote if it is already undergoing in maybe_handle_cache.

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

index bec851d0b8920543711ad9648a5590ff7a5d598f..0a31c770c65b9966893d5abe396be75c4a06cacd 100644 (file)
@@ -1802,6 +1802,11 @@ bool ReplicatedPG::maybe_handle_cache(OpRequestRef op,
     // Always proxy
     do_proxy_read(op);
 
+    // Avoid duplicate promotion
+    if (obc.get() && obc->is_blocked()) {
+      return true;
+    }
+
     // Promote too?
     switch (pool.info.min_read_recency_for_promote) {
     case 0: