From: Casey Bodley Date: Tue, 4 Feb 2025 15:06:32 +0000 (-0500) Subject: rgw/rados: use set_pool_full_try() when deleting tail objects X-Git-Tag: v20.3.0~468^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2efa41d860b70ff58a8eefbd6c47b4eb833a7f70;p=ceph.git rgw/rados: use set_pool_full_try() when deleting tail objects Signed-off-by: Casey Bodley --- diff --git a/src/rgw/driver/rados/rgw_gc.cc b/src/rgw/driver/rados/rgw_gc.cc index 18c8b75ca4d8..78867422ae25 100644 --- a/src/rgw/driver/rados/rgw_gc.cc +++ b/src/rgw/driver/rados/rgw_gc.cc @@ -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 */ diff --git a/src/rgw/driver/rados/rgw_rados.cc b/src/rgw/driver/rados/rgw_rados.cc index 2c1461c7bd09..891fada8db02 100644 --- a/src/rgw/driver/rados/rgw_rados.cc +++ b/src/rgw/driver/rados/rgw_rados.cc @@ -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);