rgw: add a field to store generic user data in the bucket index,
that can be populated/fetched via a configurable custom http header
Signed-off-by: Pavan Rallabhandi <prallabhandi@walmartlabs.com>
(cherry picked from commit
abca7a86c3cfbb58fafb5d057d9d6f5017a53704)
Conflicts:
src/rgw/rgw_op.cc
Signature fixes for RGWPutObjProcessor_Multipart::do_complete().
src/rgw/rgw_op.h
A new member field `crypt_http_responses` is added in the class `RGWPutObj` in master version, which is not required in Kraken.
src/rgw/rgw_rados.cc
In RGWRados::Bucket::UpdateIndex::complete, RGWObjEnt has been removed in master, which has to be retained in Kraken.
In RGWRados::cls_obj_complete_op, user_data is added to the rgw_bucket_dir_entry_meta
In RGWRados::cls_bucket_list, the user_data field of RGWObjEnt is populated.
src/rgw/rgw_rados.h
In UpdateIndex::complete(), remove_objs is of type rgw_obj_key in Kraken instead of rgw_obj_index_key
RGWPutObjProcessor_Multipart is not part of this file in Kraken.
src/rgw/rgw_rest_swift.cc
In RGWListBucket_ObjStore_SWIFT::send_response(), there is no meta struct in Kraken.
src/rgw/rgw_common.h
Add user_data field in RGWObjEnt structure.
src/rgw/rgw_json_enc.cc
Add user_data field while dumping RGWObjEnt.