From: Orit Wasserman Date: Wed, 31 Aug 2016 20:25:57 +0000 (+0200) Subject: rgw: fix regression with handling double underscore X-Git-Tag: v11.0.1~103^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bc840afafdfe5e528e5c1b711e71420ac3cb5a67;p=ceph.git rgw: fix regression with handling double underscore Fixes: http://tracker.ceph.com/issues/16856 Signed-off-by: Orit Wasserman --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 3f9bf8e987c0..3f515429c7d3 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -308,7 +308,8 @@ static int read_policy(RGWRados *store, obj.init_ns(bucket, oid, mp_ns); obj.set_in_extra_data(true); } else { - obj = rgw_obj(bucket, object); + obj = rgw_obj(bucket, object.name); + obj.set_instance(s->object.instance); } int ret = get_policy_from_attr(s->cct, store, s->obj_ctx, bucket_info, bucket_attrs, policy, obj); if (ret == -ENOENT && !object.empty()) { @@ -502,6 +503,7 @@ int rgw_build_object_policies(RGWRados *store, struct req_state *s, s->object_acl = new RGWAccessControlPolicy(s->cct); rgw_obj obj(s->bucket, s->object); + store->set_atomic(s->obj_ctx, obj); if (prefetch_data) { store->set_prefetch_data(s->obj_ctx, obj); @@ -522,7 +524,8 @@ static void rgw_bucket_object_pre_exec(struct req_state *s) int RGWGetObj::verify_permission() { - obj = rgw_obj(s->bucket, s->object); + obj = rgw_obj(s->bucket, s->object.name); + obj.set_instance(s->object.instance); store->set_atomic(s->obj_ctx, obj); if (get_data) { store->set_prefetch_data(s->obj_ctx, obj);