From: Sage Weil Date: Mon, 5 Oct 2015 13:15:55 +0000 (-0400) Subject: osdc/Objecter: send FULL_TRY and FULL_FORCE ops despite full flag X-Git-Tag: v9.1.0~32^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a6a6923cc655e5b3e45ec98e6a66f0d586fa31d7;p=ceph.git osdc/Objecter: send FULL_TRY and FULL_FORCE ops despite full flag If a request has the FULL_TRY or FULL_FORCE flag, send it despite a full pool or cluster. Signed-off-by: Sage Weil --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index dc6f130adb067..6057d59f30039 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -2161,17 +2161,23 @@ ceph_tid_t Objecter::_op_submit(Op *op, RWLock::Context& lc) if ((op->target.flags & CEPH_OSD_FLAG_WRITE) && osdmap->test_flag(CEPH_OSDMAP_PAUSEWR)) { - ldout(cct, 10) << " paused modify " << op << " tid " << last_tid.read() << dendl; + ldout(cct, 10) << " paused modify " << op << " tid " << last_tid.read() + << dendl; op->target.paused = true; _maybe_request_map(); } else if ((op->target.flags & CEPH_OSD_FLAG_READ) && osdmap->test_flag(CEPH_OSDMAP_PAUSERD)) { - ldout(cct, 10) << " paused read " << op << " tid " << last_tid.read() << dendl; + ldout(cct, 10) << " paused read " << op << " tid " << last_tid.read() + << dendl; op->target.paused = true; _maybe_request_map(); } else if ((op->target.flags & CEPH_OSD_FLAG_WRITE) && - (_osdmap_full_flag() || _osdmap_pool_full(op->target.base_oloc.pool))) { - ldout(cct, 0) << " FULL, paused modify " << op << " tid " << last_tid.read() << dendl; + !(op->target.flags & (CEPH_OSD_FLAG_FULL_TRY | + CEPH_OSD_FLAG_FULL_FORCE)) && + (_osdmap_full_flag() || + _osdmap_pool_full(op->target.base_oloc.pool))) { + ldout(cct, 0) << " FULL, paused modify " << op << " tid " << last_tid.read() + << dendl; op->target.paused = true; _maybe_request_map(); } else if (!s->is_homeless()) {