Bug #17987 ยป src_obj.diff
src/rgw/rgw_op.cc | ||
---|---|---|
op_ret = -ERR_INVALID_PART;
|
||
return;
|
||
} else {
|
||
// mp.get_part() always produce the oid like <obj-name>.<upload-id>.<num>
|
||
// However, it is not always true after bd8e026f88b812cc70caf6232c247844df5d99bf is merged
|
||
// https://github.com/ceph/ceph/commit/bd8e026f88b812cc70caf6232c247844df5d99bf
|
||
// When a part is uploaded more than once, the oid may be like
|
||
// <obj-name>.<random-alpha-numeric>.<num>
|
||
const RGWObjManifest::obj_iterator& obj_iter = obj_part.manifest.obj_begin();
|
||
const string adjusted_oid = const_cast<RGWObjManifest::obj_iterator&>(obj_iter).get_location().get_orig_obj();
|
||
src_obj.init_ns(s->bucket, adjusted_oid, mp_ns);
|
||
manifest.append(obj_part.manifest);
|
||
}
|
||