From: Yehuda Sadeh Date: Fri, 30 Sep 2016 21:40:33 +0000 (-0700) Subject: rgw: set multipart copy source object as atomic, prefetch X-Git-Tag: v11.1.0~659^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3e34380553ee728d3d2e32a3420f417bb9c6ac25;p=ceph.git rgw: set multipart copy source object as atomic, prefetch Object's head should only be read once. Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 16c6280a652e..f7774b3d9e28 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -2491,6 +2491,11 @@ int RGWPutObj::verify_permission() rgw_bucket cs_bucket(copy_source_bucket_info.bucket); rgw_obj_key cs_object(copy_source_object_name, copy_source_version_id); + rgw_obj obj(cs_bucket, cs_object.name); + obj.set_instance(cs_object.instance); + store->set_atomic(s->obj_ctx, obj); + store->set_prefetch_data(s->obj_ctx, obj); + /* check source object permissions */ if (read_policy(store, s, copy_source_bucket_info, cs_attrs, &cs_policy, cs_bucket, cs_object) < 0) { return -EACCES;