From 56d5899a4f28988bbb15476d433487be5984b047 Mon Sep 17 00:00:00 2001 From: usageek1266 Date: Sun, 6 Jun 2021 09:02:28 +0800 Subject: [PATCH] rgw: forward request in multisite for RGWDeleteBucketPolicy and RGWDeleteBucketPublicAccessBlock Fix: https://tracker.ceph.com/issues/45551 Signed-off-by: yuliyang_yewu (cherry picked from commit 1f9267edd81fd1bf05bd6440c5e112a6cc042145) --- src/rgw/rgw_op.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index f022bc376f93..150ad5e8bdd9 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -8092,6 +8092,13 @@ int RGWDeleteBucketPolicy::verify_permission(optional_yield y) void RGWDeleteBucketPolicy::execute(optional_yield y) { + bufferlist data; + op_ret = store->forward_request_to_master(this, s->user.get(), nullptr, data, nullptr, s->info, y); + if (op_ret < 0) { + ldpp_dout(this, 0) << "forward_request_to_master returned ret=" << op_ret << dendl; + return; + } + op_ret = retry_raced_bucket_write(this, s->bucket.get(), [this] { rgw::sal::RGWAttrs attrs(s->bucket_attrs); attrs.erase(RGW_ATTR_IAM_POLICY); @@ -8539,6 +8546,13 @@ int RGWDeleteBucketPublicAccessBlock::verify_permission(optional_yield y) void RGWDeleteBucketPublicAccessBlock::execute(optional_yield y) { + bufferlist data; + op_ret = store->forward_request_to_master(this, s->user.get(), nullptr, data, nullptr, s->info, y); + if (op_ret < 0) { + ldpp_dout(this, 0) << "forward_request_to_master returned ret=" << op_ret << dendl; + return; + } + op_ret = retry_raced_bucket_write(this, s->bucket.get(), [this] { rgw::sal::RGWAttrs attrs(s->bucket_attrs); attrs.erase(RGW_ATTR_PUBLIC_ACCESS); -- 2.47.3