]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: forward request in multisite for RGWDeleteBucketPolicy 35061/head
authorusageek1266 <usageek1266@gmail.com>
Sun, 6 Jun 2021 01:02:28 +0000 (09:02 +0800)
committerusageek1266 <usageek1266@gmail.com>
Sun, 6 Jun 2021 01:02:28 +0000 (09:02 +0800)
 and RGWDeleteBucketPublicAccessBlock

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

Signed-off-by: yuliyang_yewu <yuliyang_yewu@cmss.chinamobile.com>
src/rgw/rgw_op.cc

index ad1b0a82c9b2979de0d21991404bbf1fa3bb14b5..29cc41da950b2e7d66b8270fc38de4be45208f07 100644 (file)
@@ -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);