]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fail as expected when set/delete-bucket-website attempted on a non-existent... 42642/head
authormengxiangrui <mengxr@chinatelecom.cn>
Tue, 6 Jul 2021 11:58:55 +0000 (19:58 +0800)
committerCory Snyder <csnyder@iland.com>
Wed, 4 Aug 2021 14:47:05 +0000 (10:47 -0400)
Fixes: https://tracker.ceph.com/issues/51536
Signed-off-by: xiangrui meng <mengxr@chinatelecom.cn>
(cherry picked from commit c623aa45d35b269c6701a57e44ac05bb29a79dc8)

src/rgw/rgw_op.cc

index 7f0f17124aeb213a33d3d625d7e12b88697f8dbd..2a8a88946070c14d7b9173da6fd1a4f630da231c 100644 (file)
@@ -2647,6 +2647,11 @@ void RGWSetBucketWebsite::execute(optional_yield y)
   if (op_ret < 0)
     return;
 
+  if (!s->bucket_exists) {
+    op_ret = -ERR_NO_SUCH_BUCKET;
+    return;
+  }
+
   op_ret = store->forward_request_to_master(this, s->user.get(), nullptr, in_data, nullptr, s->info, y);
   if (op_ret < 0) {
     ldpp_dout(this, 0) << " forward_request_to_master returned ret=" << op_ret << dendl;
@@ -2679,6 +2684,11 @@ void RGWDeleteBucketWebsite::pre_exec()
 
 void RGWDeleteBucketWebsite::execute(optional_yield y)
 {
+  if (!s->bucket_exists) {
+    op_ret = -ERR_NO_SUCH_BUCKET;
+    return;
+  }
+
   bufferlist in_data;
 
   op_ret = store->forward_request_to_master(this, s->user.get(), nullptr, in_data, nullptr, s->info, y);