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

Conflicts:
- src/rgw/rgw_op.cc

Cherry-pick notes:
- rgw_op.cc forward_reqeuest_to_master takes different arguments in Octopus vs. Quincy

src/rgw/rgw_op.cc

index 6914cc1ab6a534e057b47d96eb6ce8cf663931bc..ec0dbf64361dc57b91223e14cede05c2a96adcfb 100644 (file)
@@ -2786,6 +2786,11 @@ void RGWSetBucketWebsite::execute()
   if (op_ret < 0)
     return;
 
+  if (!s->bucket_exists) {
+    op_ret = -ERR_NO_SUCH_BUCKET;
+    return;
+  }
+
   if (!store->svc()->zone->is_meta_master()) {
     op_ret = forward_request_to_master(s, NULL, store, in_data, nullptr);
     if (op_ret < 0) {
@@ -2821,6 +2826,10 @@ void RGWDeleteBucketWebsite::pre_exec()
 
 void RGWDeleteBucketWebsite::execute()
 {
+  if (!s->bucket_exists) {
+    op_ret = -ERR_NO_SUCH_BUCKET;
+    return;
+  }
 
   if (!store->svc()->zone->is_meta_master()) {
     bufferlist in_data;