If the FULL_TRY or _FORCE flag is set on an op, then we should not pause
it due to a full flag.
Fixes: https://tracker.ceph.com/issues/43813
Signed-off-by: Sage Weil <sage@redhat.com>
const pg_pool_t *pi = osdmap->get_pg_pool(t->base_oloc.pool);
bool pauserd = osdmap->test_flag(CEPH_OSDMAP_PAUSERD);
bool pausewr = osdmap->test_flag(CEPH_OSDMAP_PAUSEWR) ||
- _osdmap_full_flag() || _osdmap_pool_full(*pi);
+ (t->respects_full() && (_osdmap_full_flag() || _osdmap_pool_full(*pi)));
return (t->flags & CEPH_OSD_FLAG_READ && pauserd) ||
(t->flags & CEPH_OSD_FLAG_WRITE && pausewr) ||