{
string oid;
string part_num;
- string multipart_meta_obj;
+ RGWMPObj mp;
protected:
int prepare(struct req_state *s);
int complete(string& etag, map<string, bufferlist>& attrs);
int RGWPutObjProcessor_Multipart::prepare(struct req_state *s)
{
+ RGWPutObjProcessor::prepare(s);
+
oid = s->object_str;
string upload_id;
url_decode(s->args.get("uploadId"), upload_id);
- RGWMPObj mp(oid, upload_id);
- multipart_meta_obj = mp.get_meta();
+ mp.init(oid, upload_id);
url_decode(s->args.get("partNumber"), part_num);
if (part_num.empty()) {
info.modified = ceph_clock_now(g_ceph_context);
::encode(info, bl);
+ string multipart_meta_obj = mp.get_meta();
+
rgw_obj meta_obj(s->bucket, multipart_meta_obj, s->object_str, mp_ns);
r = rgwstore->tmap_set(meta_obj, p, bl);