From: Yehuda Sadeh Date: Wed, 19 Feb 2014 02:14:40 +0000 (-0800) Subject: rgw: don't try to read bucket's policy if it doesn't exist X-Git-Tag: v0.78~146^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=afbd58ea57f87080f8eb8bc81aa0f0fde8cd22e4;p=ceph.git rgw: don't try to read bucket's policy if it doesn't exist It's going to fail anyway, just build a default policy. Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 98b6fadc9c10..c4c89447bd43 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -358,9 +358,13 @@ static int rgw_build_policies(RGWRados *store, struct req_state *s, bool only_bu } s->bucket = s->bucket_info.bucket; - string no_obj; - RGWAccessControlPolicy bucket_acl(s->cct); - ret = read_policy(store, s, s->bucket_info, s->bucket_attrs, s->bucket_acl, s->bucket, no_obj); + if (s->bucket_exists) { + string no_obj; + ret = read_policy(store, s, s->bucket_info, s->bucket_attrs, s->bucket_acl, s->bucket, no_obj); + } else { + s->bucket_acl->create_default(s->user.user_id, s->user.display_name); + ret = -ERR_NO_SUCH_BUCKET; + } s->bucket_owner = s->bucket_acl->get_owner();