From cf66a6d5a7eee294313a1a08d0524daf939747e5 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 --- 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 c9ac24a4ea5..fd368b6aac6 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -626,8 +626,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.39.5