]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osdc/Objecter: only pause if respects_full()
authorSage Weil <sage@redhat.com>
Fri, 31 Jan 2020 17:55:03 +0000 (11:55 -0600)
committerSage Weil <sage@redhat.com>
Fri, 31 Jan 2020 17:55:03 +0000 (11:55 -0600)
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>
src/osdc/Objecter.cc

index 6c2e88185b187323a1f99c879931e183588e5219..05e9febcc20b182fb769acd20b7a7bbcade5794d 100644 (file)
@@ -2656,7 +2656,7 @@ bool Objecter::target_should_be_paused(op_target_t *t)
   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) ||