From 00abdf56e5ac726377f297dd87c9f078e00767af Mon Sep 17 00:00:00 2001 From: Abhishek Lekshmanan Date: Thu, 21 Feb 2019 17:06:52 +0100 Subject: [PATCH] rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy Right now we create a ERR_NO_SUCH_BUCKET ret code but continue further processing. Since this ret code isn't returned at any stage we end up creating a bucket instance anyway which shouldn't happen and then succeeding the client call in cases like put bucket versioning. Return an error code early in these cases Fixes: http://tracker.ceph.com/issues/38420 Signed-off-by: Abhishek Lekshmanan (cherry picked from commit cf66a6d5a7eee294313a1a08d0524daf939747e5) --- src/rgw/rgw_op.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 75bb5101a849..9c6d06ac37db 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -472,8 +472,7 @@ int rgw_build_bucket_policies(RGWRados* store, struct req_state* s) s->bucket_acl->get_owner().get_display_name(), }; } else { - s->bucket_acl->create_default(s->user->user_id, s->user->display_name); - ret = -ERR_NO_SUCH_BUCKET; + return -ERR_NO_SUCH_BUCKET; } s->bucket_owner = s->bucket_acl->get_owner(); -- 2.47.3