]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/rados: use set_pool_full_try() when deleting tail objects
authorCasey Bodley <cbodley@redhat.com>
Tue, 4 Feb 2025 15:06:32 +0000 (10:06 -0500)
committerCasey Bodley <cbodley@redhat.com>
Tue, 25 Feb 2025 16:53:38 +0000 (11:53 -0500)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/driver/rados/rgw_gc.cc
src/rgw/driver/rados/rgw_rados.cc

index 18c8b75ca4d83103ca9c13a580e9d7523e347f9e..78867422ae253d5daf1d9632211483197fddaa31 100644 (file)
@@ -685,6 +685,7 @@ int RGWGC::process(int index, int max_secs, bool expired_only,
          }
 
          ctx->locator_set_key(obj.loc);
+         ctx->set_pool_full_try(); // allow deletion at pool quota limit
 
          const string& oid = obj.key.name; /* just stored raw oid there */
 
index 2c1461c7bd0927b91bf968f6a4753e018e985151..891fada8db023e6a1ce1071eaeefd291b5075617 100644 (file)
@@ -5048,6 +5048,7 @@ done_ret:
       if (ret2 < 0) {
         continue;
       }
+      obj.ioctx.set_pool_full_try();  // allow deletion at pool quota limit
 
       ObjectWriteOperation op;
       cls_refcount_put(op, ref_tag, true);
@@ -5663,6 +5664,7 @@ void RGWRados::delete_objs_inline(const DoutPrefixProvider *dpp, cls_rgw_obj_cha
   if (ret < 0) {
     return;
   }
+  ioctx.set_pool_full_try();  // allow deletion at pool quota limit
 
   // issue deletions in parallel, up to max_aio at a time
   auto aio = rgw::make_throttle(cct->_conf->rgw_multi_obj_del_max_aio, y);