]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy 26569/head
authorAbhishek Lekshmanan <abhishek@suse.com>
Thu, 21 Feb 2019 16:06:52 +0000 (17:06 +0100)
committerAbhishek Lekshmanan <abhishek@suse.com>
Thu, 21 Feb 2019 16:06:52 +0000 (17:06 +0100)
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 <abhishek@suse.com>
src/rgw/rgw_op.cc

index c9ac24a4ea53bde55016a94dc9bffc53255bde8b..fd368b6aac6b74d00ed2d182212b8da38dca5c49 100644 (file)
@@ -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();