From: Radoslaw Zarzynski Date: Sat, 27 Oct 2018 06:30:57 +0000 (+0200) Subject: osd: slightly refactor PrimaryLogPG::do_op. X-Git-Tag: 3.2-0~54^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=5b4bb650214ee04a5a6f171caeec97656a3ccfc5;p=ceph-ci.git osd: slightly refactor PrimaryLogPG::do_op. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 4177409e4cc..d9e5ff0c3ef 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -2094,41 +2094,36 @@ void PrimaryLogPG::do_op(OpRequestRef& op) return; } - // degraded object? - if (write_ordered && is_degraded_or_backfilling_object(head)) { - if (can_backoff && g_conf()->osd_backoff_on_degraded) { - add_backoff(session, head, head); - maybe_kick_recovery(head); - } else { - wait_for_degraded_object(head, op); + if (write_ordered) { + // degraded object? + if (is_degraded_or_backfilling_object(head)) { + if (can_backoff && g_conf()->osd_backoff_on_degraded) { + add_backoff(session, head, head); + maybe_kick_recovery(head); + } else { + wait_for_degraded_object(head, op); + } + return; } - return; - } - if (write_ordered && scrubber.is_chunky_scrub_active() && - write_blocked_by_scrub(head)) { - dout(20) << __func__ << ": waiting for scrub" << dendl; - waiting_for_scrub.push_back(op); - op->mark_delayed("waiting for scrub"); - return; - } + if (scrubber.is_chunky_scrub_active() && write_blocked_by_scrub(head)) { + dout(20) << __func__ << ": waiting for scrub" << dendl; + waiting_for_scrub.push_back(op); + op->mark_delayed("waiting for scrub"); + return; + } - // blocked on snap? - if (write_ordered) { - map::iterator blocked_iter = - objects_blocked_on_degraded_snap.find(head); - if (blocked_iter != objects_blocked_on_degraded_snap.end()) { + // blocked on snap? + if (auto blocked_iter = objects_blocked_on_degraded_snap.find(head); + blocked_iter != std::end(objects_blocked_on_degraded_snap)) { 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); + if (auto blocked_snap_promote_iter = objects_blocked_on_snap_promotion.find(head); + blocked_snap_promote_iter != std::end(objects_blocked_on_snap_promotion)) { + wait_for_blocked_object(blocked_snap_promote_iter->second->obs.oi.soid, op); return; } if (objects_blocked_on_cache_full.count(head)) {