]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: forward request in multisite for RGWDeleteBucketPolicy 45434/head
authorusageek1266 <usageek1266@gmail.com>
Sun, 6 Jun 2021 01:02:28 +0000 (09:02 +0800)
committerCory Snyder <csnyder@iland.com>
Wed, 16 Mar 2022 16:46:54 +0000 (12:46 -0400)
 and RGWDeleteBucketPublicAccessBlock

Fix: https://tracker.ceph.com/issues/45551

Signed-off-by: yuliyang_yewu <yuliyang_yewu@cmss.chinamobile.com>
(cherry picked from commit 1f9267edd81fd1bf05bd6440c5e112a6cc042145)

src/rgw/rgw_op.cc

index f022bc376f9319d55ce834b59f36ceab0269a216..150ad5e8bdd9e266990b618a36aba7cecaf92ec2 100644 (file)
@@ -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);