From 1f9267edd81fd1bf05bd6440c5e112a6cc042145 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 --- 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 ad1b0a82c9b2..29cc41da950b 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -7664,6 +7664,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::Attrs attrs(s->bucket_attrs); attrs.erase(RGW_ATTR_IAM_POLICY); @@ -8111,6 +8118,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::Attrs attrs(s->bucket_attrs); attrs.erase(RGW_ATTR_PUBLIC_ACCESS); -- 2.47.3