From: Yehuda Sadeh Date: Thu, 7 Feb 2013 22:41:24 +0000 (-0800) Subject: rgw: get bucket_owner from policy X-Git-Tag: v0.58~127 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=70532d198539f94067e53ef48dd7d1f5114fa27d;p=ceph.git rgw: get bucket_owner from policy We already read the bucket policy, we can get the bucket owner from there. Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index ad62c661ca1d..a19e3b40952a 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -300,22 +300,11 @@ int rgw_build_policies(RGWRados *store, struct req_state *s, bool only_bucket, b } s->bucket = bucket_info.bucket; - if (s->user.user_id.compare(bucket_info.owner) != 0) { - ret = rgw_get_user_info_by_uid(store, bucket_info.owner, bucket_owner_info); - if (ret < 0) { - ldout(s->cct, 0) << "NOTICE: couldn't get bucket owner info for (id=" << bucket_info.owner << ")" << dendl; - return ret; - } - - s->bucket_owner.set_id(bucket_info.owner); - s->bucket_owner.set_name(bucket_owner_info.display_name); - } else { - s->bucket_owner = s->owner; - } - string no_obj; RGWAccessControlPolicy bucket_acl(s->cct); ret = read_policy(store, s, bucket_info, s->bucket_acl, s->bucket, no_obj); + + s->bucket_owner = s->bucket_acl->get_owner(); } /* we're passed only_bucket = true when we specifically need the bucket's