]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix regression with handling double underscore 10939/head
authorOrit Wasserman <owasserm@redhat.com>
Wed, 31 Aug 2016 20:25:57 +0000 (22:25 +0200)
committerOrit Wasserman <owasserm@redhat.com>
Wed, 31 Aug 2016 21:23:49 +0000 (23:23 +0200)
Fixes: http://tracker.ceph.com/issues/16856
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
src/rgw/rgw_op.cc

index 3f9bf8e987c0f88a17712871664317a97a31aebe..3f515429c7d386d788df29473ef730f3503690d4 100644 (file)
@@ -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);