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()) {