From 3e34380553ee728d3d2e32a3420f417bb9c6ac25 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Fri, 30 Sep 2016 14:40:33 -0700 Subject: [PATCH] rgw: set multipart copy source object as atomic, prefetch Object's head should only be read once. Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_op.cc | 5 +++++ 1 file changed, 5 insertions(+) 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; -- 2.47.3