From: Radoslaw Zarzynski Date: Wed, 24 Oct 2018 17:55:06 +0000 (+0200) Subject: osd: avoid unnecessary map lookups in PrimaryLogPG::do_op. X-Git-Tag: v14.1.0~1043^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7c686463b9ce9ae3dbbd47da875bc036b8ad8c87;p=ceph.git osd: avoid unnecessary map lookups in PrimaryLogPG::do_op. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 5a2968c791e..4177409e4cc 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -2114,26 +2114,27 @@ void PrimaryLogPG::do_op(OpRequestRef& op) } // blocked on snap? - map::iterator blocked_iter = - objects_blocked_on_degraded_snap.find(head); - if (write_ordered && blocked_iter != objects_blocked_on_degraded_snap.end()) { - hobject_t to_wait_on(head); - to_wait_on.snap = blocked_iter->second; - wait_for_degraded_object(to_wait_on, op); - return; - } - map::iterator blocked_snap_promote_iter = - objects_blocked_on_snap_promotion.find(head); - if (write_ordered && - blocked_snap_promote_iter != objects_blocked_on_snap_promotion.end()) { - wait_for_blocked_object( - blocked_snap_promote_iter->second->obs.oi.soid, - op); - return; - } - if (write_ordered && objects_blocked_on_cache_full.count(head)) { - block_write_on_full_cache(head, op); - return; + if (write_ordered) { + map::iterator blocked_iter = + objects_blocked_on_degraded_snap.find(head); + if (blocked_iter != objects_blocked_on_degraded_snap.end()) { + hobject_t to_wait_on(head); + to_wait_on.snap = blocked_iter->second; + wait_for_degraded_object(to_wait_on, op); + return; + } + map::iterator blocked_snap_promote_iter = + objects_blocked_on_snap_promotion.find(head); + if (blocked_snap_promote_iter != objects_blocked_on_snap_promotion.end()) { + wait_for_blocked_object( + blocked_snap_promote_iter->second->obs.oi.soid, + op); + return; + } + if (objects_blocked_on_cache_full.count(head)) { + block_write_on_full_cache(head, op); + return; + } } // dup/resent?