]> 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>
Mon, 3 Mar 2025 17:16:48 +0000 (12:16 -0500)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 2efa41d860b70ff58a8eefbd6c47b4eb833a7f70)

Conflicts:
src/rgw/driver/rados/rgw_rados.cc missing f39c5f50544822da8f2f79dcc4586b14583392e2

src/rgw/driver/rados/rgw_gc.cc
src/rgw/driver/rados/rgw_rados.cc

index dfa9e935dd9838433b179b33d9182eaea6cb19c2..af52c8232acd9f5991f8e6c3de652c2159beaacf 100644 (file)
@@ -674,6 +674,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 456637a01b38a1423240fa08afd325ba650961da..4849bc1506fb9bc613a8d884c635fce237cb31c4 100644 (file)
@@ -4998,6 +4998,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);
@@ -5425,6 +5426,7 @@ void RGWRados::delete_objs_inline(const DoutPrefixProvider *dpp, cls_rgw_obj_cha
         obj.pool << dendl;
         continue;
       }
+      ctx->set_pool_full_try();  // allow deletion at pool quota limit
       last_pool = obj.pool;
     }
     ctx->locator_set_key(obj.loc);