From: Enming Zhang Date: Tue, 31 Oct 2017 07:21:21 +0000 (+0800) Subject: rgw: fix rewrite a versioning object create a new object bug X-Git-Tag: wip-pdonnell-testing-20180317.202121~790^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=700a0292362128cb29586a64ef8215a07d96736b;p=ceph-ci.git rgw: fix rewrite a versioning object create a new object bug Fixes: http://tracker.ceph.com/issues/21984 Signed-off-by: Enming Zhang --- diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 9054f11182a..653c0dc3830 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -7445,7 +7445,9 @@ int RGWRados::rewrite_obj(RGWBucketInfo& dest_bucket_info, rgw_obj& obj) attrset.erase(RGW_ATTR_TAIL_TAG); return copy_obj_data(rctx, dest_bucket_info, read_op, obj_size - 1, obj, NULL, mtime, attrset, - 0, real_time(), NULL, NULL); + 0, real_time(), + (obj.key.instance.empty() ? NULL : &(obj.key.instance)), + NULL); } struct obj_time_weight { @@ -8232,7 +8234,7 @@ int RGWRados::copy_obj_data(RGWObjectCtx& obj_ctx, append_rand_alpha(cct, tag, tag, 32); RGWPutObjProcessor_Atomic processor(obj_ctx, - dest_bucket_info, dest_obj.bucket, dest_obj.get_oid(), + dest_bucket_info, dest_obj.bucket, dest_obj.key.name, cct->_conf->rgw_obj_stripe_size, tag, dest_bucket_info.versioning_enabled()); if (version_id) { processor.set_version_id(*version_id);